I have a pair of USB drives I use for backing up to via rsnapshot. One drive is left plugged in and the other is taken off site. For the first swap, I ran "rsync -aH" to copy all the contents from current drive onto the offsite drive. This process took 6 full days. I've now reached the point where I'd like to update the offsite drive.
Since rsnapshot "slides" the backups so that daily.0 is always the newest, I did the math (24 new backups since the last rotation) and renamed the existing snapshots to where they'd match.
Then I ran "rsync -aH" again, but it appears that rsync is not detecting that the existing files are linked to the same files as the newer ones and so it's done fresh copies of them. eg, even though the latest in daily.0/server/etc/passwd is the same as the existing daily.30/server/etc/passwd, they have different inodes (but daily.31/server/etc/passwd shares it's inode with daily.30 as expected).
So, on the original rsnapshot created disk currently:
daily.0/server/etc/passwd inode: A
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
After the first rsync onto the off-site disk (using "current" names to hopefully make things less confusing):
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
And after this newest rsync:
daily.0/server/etc/passwd inode: B
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
In addition to losing the hard-drive space, it's taking rsync days to verify things are in sync. It's not done yet, but I'm not going to be surprised if this process is also going to take 6 days. :-(
So, what's a better mechanism for refreshing/resyncing these drives? I'd like to stay away from wiping and re-rsyncing because of the amount of time it takes to write the data.
(One additional pain: the drives are not identical and they have other things on them, so just dd'ing them is currently not an option.)