rsync compares all files again and again

Elliot Wilen ewilen at mprinc.com
Fri Oct 14 18:32:04 MDT 2011


Here's an idea. Use inotify/incrond to build a list of which files or directories have changed since a certain time. Then when you run rsync, you can either feed the list directly, or use it to generate a subset of directories to look at.

Note: I only just found out about inotify from a web search. This looks like a good overview: http://www.cyberciti.biz/faq/linux-inotify-examples-to-replicate-directories/

You have to create a separate monitoring command for each directory. The overview shows one way to do this, and based on that, I think you could use incrond itself to generate a new entry whenever a directory is created within a watched directory. I have no idea how costly this might be in terms of system performance, when you've got incrond handling thousands of scripts. You'll also want to delete entries when directories are deleted.

Another problem might be if you expect hardlinks to be preserved using -H. Here I think you'd need to user --filter or --include/--exclude so that your entire backup list could be based off a single root directory.

Elliot Wilen
Network Administrator/Postmaster
Communications and Computer Systems
MPR Associates, Inc.
2150 Shattuck Ave., Suite 800
Berkeley, CA 94704
Phone: (510) 849-4942
Fax: (510) 849-0794

www.mprinc.com


More information about the rsync mailing list