Tool Comparison and Architecture
Use each tool for the job it does best.
Quick Summary
If you want both fast restores and real rollback history:
- Use
rsyncto build a clean local snapshot tree - Use
resticto store encrypted history of that tree - Use
rcloneto copy the local tree (or the repository) offsite
| Need | Tool |
|---|---|
| Fast local mirror | rsync |
| Multi-provider replication | rclone |
| Encrypted backup history | restic |
Why Not Use Only One Tool?
- Only
rsync: you get "latest" but not many restore points. - Only
rclone sync: sync can delete old versions and is not a snapshot system. - Only
restic: you get great history, but you might still want a local "current" folder for very fast restores.
flowchart LR
A[Production Data] --> B[rsync local snapshot]
B --> C[restic repository snapshots]
B --> D[rclone offsite mirror]
Example Data Flow
architecture-example.sh
# local current copy
rsync -a --delete /srv/app/ /backup/app/current/
# restic history
restic backup /backup/app/current --tag daily --host app-01
# offsite copy
rclone sync /backup/app/current remote-prod:backups/app/current