rsync with (f)locks
Thomas Jordan
tomjordan766 at gmail.com
Sat Nov 23 12:36:56 MST 2013
From the rsync manual documentation I see that by using the option
rsync-path, it is possible to specify what program is to be run on the
remote machine to start up rsync. In particular, the program could be a
wrapper script which calls the actual rsync command in the middle, but
which does some actions before and/or after the rsync invocation. One
possible interesting use would be to acquire/release a lock (e.g., a
flock), so that the operations of rsync at the remote end could be
co-ordinated with another process which is contending for write access
to the same files.
My question is: can you also put a wrapper around rsync when using the
inetd (or xinetd) daemon approach to running rsync, by adding a line for
inetd something like the following to /etc/inetd.conf (as per the
rsyncd.conf man page):
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
but replacing /usr/bin/rsync with the path to your rsync-lookalike
wrapper, which in this case would be a C/C++ -code program which seizes
a lock, forks off rsync, waits for rsync to complete, then releases the
lock.
Thanks
More information about the rsync
mailing list