quota command and rsync snapshots...

Brooks Davis brooks at one-eyed-alien.net
Wed Nov 15 21:14:25 UTC 2006


On Wed, Nov 15, 2006 at 03:39:56PM -0500, Ensel Sharon wrote:
> 
> I am currently afraid of UFS2 snapshots (maybe that's rational and maybe
> it's not ...) and so I am using Mike Rubel style rsync snapshots:
> 
> rm -rf day.3
> mv day.2 day.3
> mv day.1 day.2
> cp -al day.0 day.1
> rsync /source /destination/day.0
>
> (note, GNU cp, the -al means copy everything with hard links)
> 
> You get the idea.

Unless you're using some flags to rsync the symlinks are always being
broken...

[1:05pm] brooks at host (~/baz): ls -li
total 4
32361971 -rw-r--r--  1 brooks  brooks  512 Nov 15 13:04 foo
[1:05pm] brooks at host (~/baz): ln foo bar
[1:05pm] brooks at host (~/baz): cp foo baz
[1:05pm] brooks at host (~/baz): ls -li
total 12
32361971 -rw-r--r--  2 brooks  brooks  512 Nov 15 13:04 bar
32361970 -rw-r--r--  1 brooks  brooks  512 Nov 15 13:05 baz
32361971 -rw-r--r--  2 brooks  brooks  512 Nov 15 13:04 foo
[1:05pm] brooks at host (~/baz): rsync baz bar
[1:06pm] brooks at host (~/baz): ls -li
total 12
32361972 -rw-r--r--  1 brooks  brooks  512 Nov 15 13:06 bar
32361970 -rw-r--r--  1 brooks  brooks  512 Nov 15 13:05 baz
32361971 -rw-r--r--  1 brooks  brooks  512 Nov 15 13:04 foo

> The question is, when I do a `du -ak` of each of the four days (day.0 -
> day.3) I get roughly the same number for all of them, which is to be
> expected.
> 
> However the output of `quota` for that user shows a _much_ larger number
> than the `du` for each of those directories.
> 
> I would think that `quota` would show me the sum of day.0 plus (all the
> total differences of day.1 - day.3) but it shows me a number _much_ larger
> than that.  I really can't even guess what the number it is showing me is.

Quota operates on the filesystem and gives the amount of space used on
the volume the directory you pass it is on.

> So I have two questions:  given a directory that contains one current
> backup and three snapshots (day.0 - day.4) what command can I run that
> will show me the total _actual_ space used ?  du will not work because it
> counts up each directory as if it used all of that space...

There isn't one that I know of.  Unless the volume is only used for this
purposed (in which case df could be used) the only way to find this out
would be to write a version of du that kept track of the inode of each
hardlink and then didn't count it again.

> Second, is there any way to get quota to show an accurate representation
> of the users usage ?

At this point you haven't established that it doesn't.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20061115/1fea5372/attachment.pgp


More information about the freebsd-fs mailing list