github psy0rz/zfs_autobackup v4.0-beta3

pre-release5 hours ago

Untested early beta, use with caution

This version has some MAJOR changes and behaves different than version 3.x in some important ways.

Clone support

This version finally has the long awaited clone support. It should work automatically.

It tries to be smart and select extra snapshots that needed for clones, when possible. It wont send over extra datasets.

If it cant use a clone for some reason it will try to explain why with a warning and continue in full-send mode.

Use --no-clone to not use clones at behave as previous zfs-autobackup versions. (all sends are full)

Bookmark support

By default zfs-autobackup will now use bookmarks if possible. This means you can delete the common snapshot on the source side, possibly saving space.

Because of this, the scheduler can now delete all snapshots on the source side, if conifgured like that. (e.g. --keep-source=0)

This also means we no longer use holds for snapshots on the source side, to make things easier.

The guid of the target-path will be used as tag for bookmarks. This way you can send data to multiple locations, without zfs-autobackup destroying bookmarks that are still needed.

Bookmarks only get used if both sides support it.

To get back the old behaviour use --no-bookmarks.

autobackup: properties are now filtered by default (see #150 and #221)

A long standing issue was the fact that it sometimes was hard to distinguish a source from an actual backup

We had some tricks for it like --exclude-received, but its much better if we just would filter all autobackup: properties by default.

So thats what zfs-autobackup does by default now: All properties that start with autobackup:... are filtered.

If you make a zfs-autobackup of an existing zfs-autobackup, you might want to pay attention if this still works like you expect.

To get rid if existing properties on your current backups, do something like this:

zfs inherit -r autobackup:backup1 pool/backup1

Also --exclude-received has been removed, and will throw an error with an explanation when you still use it.

Missing common snapshots can now be resolved automatically

If a common snapshot is missing, the whole target dataset and all its snapshots will be marked as invalid. Then you can use --destroy-incompatible and -F to remove the snapshots and overwrite the dataset with good data.

This even works even the dataset has childeren, these stay untouched.

zfs-autobackup will help you by telling you when either or both options are needed, since it can be dangerous to always enable them. (point it to the wrong dataset and it will delete stuff!)

Tag support

You can now use --tag to add a tag to the snapshot names. While zfs-autobackup ignores these, they are usefull for the system administrator.

For example if you make an extra manual snapshot, you might want to tag this:

zfs-autobackup offsite1 --tag "pre upgrade snapshot"

( yes you can use spaces)

Your snapshot will be something like @offsite1-20241014123300_pre upgrade snapshot"
This will add an _ and the text,

Also see the discussion in #151

Impact on existing users: You can no longer use the tag seperator (underscore by default) in snapshot names.

Other stuff

These changes should have no impact on existing zfs-autobackup users:

  • Improved common snapshot finding: now includes bookmarks as well, and can find any bookmark or snapshot combination that matches the GUID, regardless of names.
  • Implement Issue #245 Snapshot exclude patterns
  • Major internal refactoring. (cleaned up caching, removed virtual snapshots, removed CachedProperty)

Don't miss a new zfs_autobackup release

NewReleases is sending notifications on new releases.