rsync and moving files [Re: backup w/ snapshots]
Svein Halvor Halvorsen
svein-freebsd-questions at theloosingend.net
Wed Aug 31 07:14:40 GMT 2005
* Garance A Drosihn [2005-08-30 12:50 -0400]
> Fwiw, I understand the problem you're trying to describe. And the
> basic issue is that rsync keeps no information between separate
> runs of it. It has no way of knowing that a given file on the
> source volume used to be at a different location. It does not even
> know that the destination volume was sync'ed by a previous run of
> rsync, so it does not even know that the file at the old location
> on the destination is the same as the file at the old location on
> the source. It knows nothing more than the information it has at
> the moment of any given run of rsync.
>
> You could kinda fudge that information for rsync by creating a lot
> of hard links, but that is probably going to create more of a mess
> than it will solve.
>
> So, you're left with doing something else outside of rsync. The
> script you are suggesting would probably be fairly easy to write
> in something like ruby, perl, or python. Use a key made up of the
> inode number + lastchange date, or maybe inode number + file size.
> Then save away the key-to-filename(s) mapping for every file. On
> the next run of rsync, see which files have moved on the source
> directory. If the destination volume has a file at the old location
> which matches the file-size or lastchange date (depending on which
> key you used...), then move it to the new location on the destination
> volume.
Thanks! I think I will try to implement this, then!
More information about the freebsd-questions
mailing list