psy0rz / zfs_autobackup

ZFS autobackup is used to periodicly backup ZFS filesystems to other locations. Easy to use and very reliable.
https://github.com/psy0rz/zfs_autobackup
GNU General Public License v3.0
584 stars 62 forks source link

--no-snapshot --keep-source=0 does not delete all snapshots #53

Open fhriley opened 4 years ago

fhriley commented 4 years ago

Those options tell zfs-autobackup to not create a snapshot and keep 0 snapshots, but zfs-autobackup is hardcoded to keep the last snapshot. zfs-autobackup should not override what I asked it to do.

psy0rz commented 4 years ago

True, this was originally to prevent people "shooting them self in the foot" and accidentally deleting the common snapshot.

However in snapshot-mode this makes sense i guess. And even if you want to do a one-time synchronization and delete the source snapshot after its complete?

Will fix this.

A --keep-target=0 doesn't make sense, right? :)

psy0rz commented 3 years ago

hmm.. i realise that keep-target=0 also is usefull for onetime replication .

psy0rz commented 3 years ago

I've made some preparations for this.

It will be called --keep-source=cleanup and --keep-target=cleanup, to indicate we really want a cleanup. E.g.: delete all snapshots belonging to this backup and breaking the backup.

Specifying 0 will become an error and inform the user of the cleanup if he really wants that.

dreadedhamish commented 1 day ago

I've made some preparations for this.

It will be called --keep-source=cleanup and --keep-target=cleanup, to indicate we really want a cleanup. E.g.: delete all snapshots belonging to this backup and breaking the backup.

Specifying 0 will become an error and inform the user of the cleanup if he really wants that.

How will this "break the backup"? I've got 1 drive that is space constrained, so I'd like to keep zero snapshots on the drive itself.

Scrin commented 1 day ago

With no snapshots zfs won't be able to know what has changed since the previous backup run, so the next backup would fail because the setup is effectively broken at that point, and fixing it usually requires destroying the target which is usually not desired

dreadedhamish commented 13 hours ago

With no snapshots zfs won't be able to know what has changed since the previous backup run, so the next backup would fail because the setup is effectively broken at that point, and fixing it usually requires destroying the target which is usually not desired

OK I think I get it - the primary snapshot can only be in the original pool - I can put a snapshot that automatically grows somewhere else. So my options are to increase the size of the original pool, or take more frequent snapshots so the primary growing one doesn't get too large.

Scrin commented 8 hours ago

Yes, taking backups more frequently will allow the snapshot(s) on the source to stay smaller (also depends a lot on how the dataset is used, written to). The thinner can then take care of deleting unnecessary intermediate snapshots on the target so more frequent backup runs wont hurt your disk consumption there either