## PREREQUISITES: ## 1. zfs-auto-snapshot or equivalent package installed locally and regular ## snapshots enabled (hourly, daily, etc.) # NB now available in ascii with: # apt-get install zfs-auto-snapshot # or: ## Make ZFS Snapshots work on Debian ## A .deb package can be created for zfs-auto-snapshot: apt-get -y install git build-essential zfsnap apt-get -y install zfs-auto-snapshot ZSH_BUILD_HOME=/var/tmp/zfs-auto-snapshot mkdir -p ${ZSH_BUILD_HOME} && \ cd ${ZSH_BUILD_HOME} && \ git clone https://github.com/zfsonlinux/zfs-auto-snapshot.git && \ cd ${ZSH_BUILD_HOME}/zfs-auto-snapshot &&\ git merge origin/debian && \ dpkg-buildpackage -b -uc -us && \ dpkg -i ../zfs-auto-snapshot_*.deb ## 2. home directory set for zfssnap role (the user taking snapshots and ## doing the sending): # rolemod -d /path/to/home zfssnap ## 3. ssh keys set up between zfssnap@localhost and remuser@remhost: # su - zfssnap # ssh-keygen ## Copy the contents of .ssh/id_rsa.pub into ~remuser/.ssh/authorized_keys on remhost. Test that key-based ssh works: # ssh remuser@remhost ## 4. zfs allow done for remuser on remhost: # zfs allow remuser atime,create,destroy,mount,mountpoint,receive,rollback,snapshot,userprop backuppool/fs ## This can be done on a top-level filesystem, and is inherited by default. ## Depending on your usage, you may need to also allow further permissions such ## as share, sharenfs, hold, etc. ## 5. an initial (full) zfs send/receive done so that remhost has the fs we ## are backing up, and the associated snapshots -- something like: # zfs send -R $POOL/$FS@zfs-auto-snap_daily-(latest) | ssh $REMUSER@$REMHOST zfs recv -dvF $REMPOOL ## Note: 'zfs send -R' will send *all* snapshots associated with a dataset, so ## if you wish to purge old snapshots, do that first. ## 6. zfs allow any additional permissions needed, to fix any errors produced in ## step 5 ## 7. configure the TAG/PROP/REMUSER/REMHOST/REMPOOL variables in this script or ## in a config file ## 8. zfs set $PROP={ fullpath | basename | rootfs } pool/fs ## for each FS or volume you wish to back up.