-
Notifications
You must be signed in to change notification settings - Fork 141
Description
Is your feature request related to a problem? Please describe.
The 3-2-1 rule of backups: 3 copies of your data on 2 separate media with 1 offsite. Depending on your definition of "media", a drive that exists within the same physical host is considered the same "media".
More and more people have NAS these days - Synology, QNAP (bleh), or BYO with something like Unraid. A backup solution should be able to use such hardware as a backup target location.
In my mind, I extend the 3-2-1 rule and think that data should look like:
- Active data: this is what you currently work on
- RAID: disk fault tolerance. Not a backup!
- Backup 1: local or near-local, fast recovery. This is used for recovering from misconfiguration and bad software deploys. Example: BTRFS snapshots, ESXi snapshots, etc.
- Backup 2: on-site but separate physical hardware. Eg: a NAS in a separate MDF / IDF / room / nearby building. This is used for recovering from hardware failure or localized events (eg: small fire, water damage, etc.)
- Backup 3: off-site. Eg: AWS/GCP/Azure, building in a different city/state/country. This is used for recovery from catastropic events (hurricane, earthquake, etc) and potentially archival storage if wanted.
- Backup 4: offline: Eg: Tape, USB drive, cold HDD, etc. Used for archival and massive cryptoware recovery. Though backup 2 and 3 should also be resilient to cryptoware 😁
Perhaps the goal timeshift is to only address Backup 1 (local). If that's the case, that's fine. But if the goal is also address Backup 2 (separate physical hardware), then network targets are a must.
Describe the solution you'd like
It would be great if we could save the snapshots to a network share, such as /mnt/my_nas/backups/. This network share might be NFS, SMB, or other. To first order I'd expect that NFS is (a) easiest and (b) most common.
Describe alternatives you've considered
In short: not using timeshift 😞.
I've thought about using dd (and cron and N supporting shell scripts):
- Can backup to network location 👍
- Creates image files 👍
- Not easy (or maybe impossible) to do differential backups 👎
- I've gotta maintain those supporting scripts 🙃
Additional context
There are many feature requests for such a thing in the original repository. Some of them were dismissed as "wontfix" due to a core design decision that prevents saving backups to a network path from working correctly.
- Network backup teejee2008/timeshift#520
- backup to different location in btrfs mode teejee2008/timeshift#504
- Save Backup on NFS Share? teejee2008/timeshift#90
- [Feature request] Add some sort of remote location to save snapshots teejee2008/timeshift#52
- Feature request - Allow remote rsync location teejee2008/timeshift#640
There are also related issues in this repo:
- Should send snapshots to folder, not partition #71 would probably be a prerequisite for adding save-to-network-drive support.