Syncing Two Dirs With Rsync
Chuck Swiger
cswiger at mac.com
Thu Jan 10 19:09:27 UTC 2013
On Jan 10, 2013, at 10:57 AM, Tim Daneliuk wrote:
> I have used rsync for many years to make sure a destination
> machine:directory is kept up-to-date with some source master
> directory.
>
> I now need to find a way to keep two different machine:dirs
> in sync with each other. But for any given file, I don't know
> which of these is newer so I don't know "which way" to sync.
>
> For example given:
>
> machineA::/dir/foo machineB:/dir/foo
> machineA::/dir/bar machineB:/dir/bar
>
> Say the machineA has the newest foo, but machineB has the
> newest bar. At the end of syncing, I want both machines
> to have the latest copies of everything.
>
> I'm guessing there's a way to do this with rsync but I'm kind
> of stumped.
rsync's --update flag will not overwrite a file at the destination if it was modified more recently then the source location. So you can run rsync twice to sync from A to B and then from B to A. Make very sure both boxes are keeping correct time and/or are mutually sync'ed via NTP or similar.
However, if you make different changes to the same file on A and on B, you will lose one of them. (That is what version control systems like SVN and git would resolve. So if you do plan to do 2-way or N-way changes and sync'ing on a regular basis, version control is much less likely to lose changes or otherwise screw up.)
Regards,
--
-Chuck
More information about the freebsd-questions
mailing list