Flag file management techniques using rsync
Frank Hamersley
terabite at bigpond.com
Sun Nov 7 11:54:56 GMT 2004
G'day,
I am just getting into rsync and have been very impressed with performance
and reliability. There is one thing I haven't worked out how to do yet and
I haven't found much with several Google sessions or by way of consulting
the examples.
I am looking for a way to check for (or duplicate) single flag files to and
from a remote host (without any dummy spit errors when it is not present)
and ideally avoiding the need for a specialised sub directory for each flag
file. For example to see if the remote host is otherwise occupied (i.e.. in
the middle of building the import data files) I was expecting this might
work for a "pull" action...
rsync -vptgo rmtusr at rmthost.net:/somepath/file1.flg file1.flg
while [ -f file1.flg ]
do
sleep 30
rsync -vptgo --delete rmtusr at rmthost.net:/somepath/file1.flg file1.flg
done
# Now safe to transfer the data
rsync -rvptgo rmtusr at rmthost.net:/somepath/export import/
... then I want to drop a flag file on the remote host before a "push" rsync
starts and then remove it on completion. eg.
touch file2.flg
rsync -vptgo file2.flg rmtusr at rmthost.net:/somepath/file2.flg
rsync -rvptgo export/ rmtusr at rmthost.net:/somepath/import/
rm -f file2.flg
rsync -vptgo --delete file2.flg rmtusr at rmthost.net:/somepath/file2.flg
In my initial attempts the --delete options didn't seem to work to well on
single files. I had thought of using discrete subdirectories for each flag
file so I can use the -r option with the --delete but I was hoping to avoid
this so a general solution would be much easier to deploy (and scale).
Is there a better way to achieve these goals using rsync or perhaps are
there better options using ssh alone? Regards, Frank.
More information about the rsync
mailing list