Two rsync flags that matter for incremental backups
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.