Boring backups with rsync and hard links
16 Aug 2026
I tried a few backup tools and kept coming back to plain rsync with --link-dest. Every run looks like a full copy, but unchanged files are hard links to the previous snapshot, so it costs almost nothing.
today=$(date +%F) rsync -a --delete \ --link-dest=/mnt/backup/latest \ /home/ /mnt/backup/$today/ ln -sfn /mnt/backup/$today /mnt/backup/latest
Restoring is just copying files back. No special format, no index that can get corrupted.
Pruning
A small script keeps daily snapshots for two weeks and the first of each month for a year. Deleting a snapshot only frees the files that no other snapshot links to.
The one thing I learned the hard way: test a restore once in a while. A backup nobody has restored from is a hope, not a backup.