akito

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.