On 1/22/07, Richard Z <[EMAIL PROTECTED]> wrote:
I have a cron job to rsync one directory from one server to another
every 5 minutes. There are some really big files. So it happens when
the second instance of rsync tries to copy the same file when the
first instance is not done yet. It drives my CPU crazy on the source
server. Is there a way to avoid this problem?

Make the job do nothing if a previous instance of the job is still
running.  To accomplish that, use a lock file.  For example, if you
have flock(1), you could use the command:

flock --exclusive --nonblock /path/to/the/lockfile rsync ARGUMENTS...

Or in bash, you could use this code, which has a race condition that
won't be a problem when the job starts every few minutes:

if ! [ -f /path/to/the/lockfile ]; then
   touch /path/to/the/lockfile
   rsync ARGUMENTS...
   rm -f /path/to/the/lockfile
fi

Matt
--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to