Date: Wed, 31 Aug 2005 09:14:36 +0200 (CEST) From: Svein Halvor Halvorsen <svein-freebsd-questions@theloosingend.net> To: Garance A Drosihn <drosih@rpi.edu> Cc: questions@freebsd.org Subject: Re: rsync and moving files [Re: backup w/ snapshots] Message-ID: <20050831091404.W29039@maren.thelosingend.net> In-Reply-To: <p06230912bf3a35c8b887@[128.113.24.47]> References: <20050828234043.H22315@maren.thelosingend.net> <20050829161506.E2522@maren.thelosingend.net> <43131C85.1070100@meijome.net> <20050829170053.M3014@maren.thelosingend.net> <43133BA5.2010608@scls.lib.wi.us> <20050830091919.J13913@maren.thelosingend.net> <p06230912bf3a35c8b887@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
* 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!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050831091404.W29039>