I have a machine in my office that has a dual role, and has two zfs pools to do it. The first pool is for local containers that are running network services for the land (dhcp, dns, yadda). Let's call that one "containers". The other pool is to hold received snapshots from the production system located in a data centre. Let's call that one "backup".

I want to run zfs-auto-snapshot on this host, but only have it snapshot datasets on the zpool that has the containers on it. The backup pool already has one snapshot per day of the dataset(s) on it, and as there is no actual interaction with those datasets there's no need for any more, plus I'm not a hundred percent certain that those snapshots won't create space issues or problems with the incremental snapshots received from production.

Now I know that "//" refers to all datasets in the zfs-auto-snapshot command line. I'm wondering if I can just exchange the name of the pool (containers) for "//" and if it will automagically pick up that pool and all of its datasets or not. The documentation is not exactly clear on whether you can put in the name of a pool as the target for snapshotting and have all the datasets beneath it get snapshotted as well.

I've also noted at least one post that suggests that as I'm on ubuntu server 18.04 that the zfs-auto-snapshot package may have been superseded by another mechanism for automatically created snapshots... so if anyone knows anything about that I'd love to hear about it.



You should be able to do this with the command line:

zfs-auto-snapshot --recursive containers

That would take a snapshot of all child datasets under the top-level pool dataset in the containers pool.

Alternately, check out the --default-exclude description:

By default zfs-auto-snapshot will snapshot all datasets except for those in which the user-property com.sun:auto-snapshot is set to false. This option reverses the behavior and requires com.sun:auto-snapshot to be set to true.

So you could also set the com.sun:auto-snapshot property to false on the top-level backup filesystem, and continue using // (may also need --recursive, I'm not certain).

  • Cool. Thank you Dan! I'll go shut down the cron service and get it set up on that host now. I'm quite new to adminning a system with zfs on it and while I love the feature set (love love love the feature set) I'm trying to be careful to ensure I don't screw up existing datasets. Thanks again! Have a great day! – stratvox Feb 21 '19 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.