Plainnotes

Two rsync flags that matter for incremental backups

2026-04-29 · 2 min readDeploy

Two flags come up whenever rsync is used for daily backups.

--delete removes files at the destination that no longer exist at the source. Without it the backup only grows and deletions never propagate; with it, a wrong path is destructive. Always dry-run first.

--link-dest is what makes snapshots affordable: unchanged files are hard-linked to yesterday's directory, so only changes consume space. A hundred daily snapshots may cost as much as two.

rsync -a --delete --link-dest=/backup/2026-04-28/ /data/ /backup/2026-04-29/

-a already implies -rlptgoD, so -r is redundant. Hard links do not cross filesystems, so keep the destination on the same partition.