On Thu, 2010-05-06 at 08:54 +0930, Iain Buchanan wrote:

> but it's an angle to follow.  I wonder how max_user_watches would handle
> being 100k or more... no doubt you just need some RAM?!
> 
> thanks,

To answer my own questions, I'm now trying this:

# echo 100000 >/proc/sys/fs/inotify/max_user_watches

$ time sudo find  / -xdev -type d | sudo inotifywatch -v -t 1 -e 
modify,attrib,move,create,delete,delete_self,unmount --fromfile -
Establishing watches...
Total of 71169 watches.
Finished establishing watches, now collecting statistics.
Will listen for events for 1 seconds.
total  modify  filename
6      6       /tmp/
2      2       /dev/

real    0m3.177s
user    0m0.768s
sys     0m1.378s

This sets up a watch on all directories under / that aren't part of
another filesystem, and then exits after one second.  It's quite fast :)

The idea, off the top of my head, would be this:
     1. inotifywatch as above but without the time restriction
     2. wait for it to finishing "setting up"
     3. rsync the whole directory structure to the backup
     4. continuously do this loop:
             1. get list of changes from inotifywatch
             2. rsync those changes

Unfortunately inotifywatch only returns output on ctrl-c, which I don't
want to do or you loose anything changed between instances.  This could
be changed to another signal, no doubt.

How does that sound for a continuous running backup?  This is starting
to stray OT from Gentoo, but your thoughts are welcome :)
-- 
Iain Buchanan <iaindb at netspace dot net dot au>

One cannot make an omelette without breaking eggs -- but it is amazing
how many eggs one can break without making a decent omelette.
                -- Professor Charles P. Issawi


Reply via email to