Hi there!
Сurrent version of Duplicity doesn’t preserve hard-links, so I’ve created a workaround to make it possible.
Why hard-links are important ? Any Linux distribution has many system hard-links. If you want to do a Full System Backup of Linux you must backup hard-links carefully, or you will meet nasty problems after restore. For example my Gentoo Linux has >3000 hard-links! Imagine what will happen if I ignore that.
I have written a small script which can backup/restore structure of hard-links.
You can download it: duplicity-hardlinks.py (modify python version in the first line if it fails to run. It requires Duplicity installation to work correctly.)
Usage:
$ duplicity-hardlinks.py [options] dump source_dir dump_file
$ duplicity-hardlinks.py restore dump_file target_dir
So, generally you should save hard-links structure into the dump_file, add dump_file into your backup, and use that file after restore.
Script is not stupid, it respects all Duplicity’s filter options.
Example:
$ duplicity-hardlinks.py --include /home --include /etc --exclude '**' dump / /hardlinks_dump.txt
This will save a dump of all hard-links from /home and /etc directories into the file /hardlinks_dump.txt.
Include /hardlinks_dump.txt in the list of files backup-ed by Duplicity. Use Duplicity to backup these files:
$ duplicity full --include /home --include /etc --include /hardlinks_dump.txt --exclude '**' / file:///mnt/backup/
Restore ordinal duplicity backup into some directory, for example /mnt/restore/. The file hardlinks_dump.txt should be there:
$ duplicity restore file:///mnt/backup/ /mnt/restore/
Finally, restore hard-links structure:
$ duplicity-hardlinks.py restore /mnt/restore/hardlinks_dump.txt /mnt/restore
Done!
Recent Comments