rsync Backups and Directory Renaming, a Solution
Most rsync users will eventually confront this shortcoming. When renaming a directory tree on the sending side, rsync will copy the whole tree, then delete the old one on the receiving side.
Here is what my reasearch has given:
- « Your best bet is simply put up with it. Sorry. »
- This interesting solution involves hidden metadata files and bash scripts. I would look into this if I were renaming large directories often.
- This discussion brings up even more complex ideas and pointers to patches for rsync support for renamed directories. tl;dr.
Now, suppose you want to perform a backup which includes such a renamed directory and this problem is unlikely to be recurring, thus does not justify much research and development. Here is what I propose:
cp -la
instead ofmv
;- Add the
--hard-links
(or-H
) switch to your recurring rsync job; - Wait for
tail -F /var/log/crond.log | grep backup
; rm -rf
- Repeat #2 and #3.
There. Nothing of value was wasted.
Please do email comments. Contact info below.