project:rsnapshot-zfs-helper:rsnapshot-example
This is an old revision of the document!
Example for using rsnapshot-zfs-helper with rsnapshot
This example has been created using Debian 9.3 .
##
## setup zfs (optional)
##
# 'bpo' kernel won't do the trick
apt-get install linux-image-amd64
apt-get clean
reboot
- add "contrib" to the apt-sources
apt-get update
apt-get install zfs-dkms zfsutils-linux rsnapshot
apt-get clean
/sbin/modprobe zfs
## create partition for zfs:
Device Boot Start End Sectors Size Id Type
...
/dev/sda3 4194304 209715199 205520896 98G bf Solaris
## create zpool without mount point
zpool create zp-bak /dev/sda3 -m none
# create prereq. data sets
zfs create zp-bak/backup -o compression=lz4 -o snapdir=hidden -o xattr=sa -o acltype=posixacl -o mountpoint=/backup
zfs create zp-bak/backup/hosts -o compression=lz4 -o snapdir=hidden -o xattr=sa -o acltype=posixacl -o mountpoint=/backup/hosts
df
->
Filesystem 1K-blocks Used Available Use% Mounted on
...
zp-bak/backup 99041152 128 99041024 1% /backup
zp-bak/backup/hosts 99041152 128 99041024 1% /backup/hosts
##
## create ssh keypair
##
ssh-keygen -N '' -C "backup@$(hostname)-$(date -Is)" -f /root/.ssh/id_rsa
##
## install & prepare rsnapshot
##
apt-get install rsnapshot
apt-get clean
cp -ax /etc/rsnapshot.conf /etc/rsnapshot.conf.$( date -Is )
vi /etc/rsnapshot.conf
[...]
snapshot_root /backup/hosts/vstest01
cmd_ssh /usr/bin/ssh
#interval hourly 6
interval daily 7
interval weekly 4
interval monthly 3
cmd_cp /bin/true
cmd_preexec /usr/sbin/rsnapshot-zfs-helper /etc/rsnapshot.conf preexec
cmd_postexec /usr/sbin/rsnapshot-zfs-helper /etc/rsnapshot.conf postexec
vi /etc/rsnapshot-zfs-helper.conf
snapshots_config_dir=/etc
##
## create a backup job
##
# create zfs dataset
zfs create zp-bak/backup/hosts/vstest01 -o compression=lz4 -o snapdir=visible -o xattr=sa -o acltype=posixacl -o mountpoint=/backup/hosts/vstest01/daily.0
df
->
Filesystem 1K-blocks Used Available Use% Mounted on
...
zp-bak/backup/hosts/vstest01 99041024 0 99041024 0% /backup/hosts/vstest01/daily.0
# create backup config
/etc/rsnapshot.conf
backup root@vstest01:/ ./
# distribute ssh key to backup client
ssh-copy-id root@vstest01
# test ssh login
ssh root@vstest01 hostname
# run first backup
rsnapshot daily
# check
zfs list -t all
->
NAME USED AVAIL REFER MOUNTPOINT
zp-bak 592M 93.9G 19K none
zp-bak/backup 592M 93.9G 19K /backup
zp-bak/backup/hosts 592M 93.9G 40K /backup/hosts
zp-bak/backup/hosts/vstest01 592M 93.9G 592M /backup/hosts/vstest01/daily.0
zp-bak/backup/hosts/vstest01@daily.2018-01-30T14:53:29Z 0 - 592M -
# run second backup
rsnapshot daily
# check
zfs list -t all
->
NAME USED AVAIL REFER MOUNTPOINT
zp-bak 597M 93.9G 19K none
zp-bak/backup 596M 93.9G 19K /backup
zp-bak/backup/hosts 596M 93.9G 40K /backup/hosts
zp-bak/backup/hosts/vstest01 596M 93.9G 592M /backup/hosts/vstest01/daily.0
zp-bak/backup/hosts/vstest01@daily.2018-01-30T14:53:29Z 4.32M - 592M -
zp-bak/backup/hosts/vstest01@daily.2018-01-30T14:57:49Z 0 - 592M -
##
## enable rotation of higher rotation levels
##
/etc/cron.d/rsnapshot-zfs-helper
35 23 * * * root /usr/sbin/rsnapshot-zfs-helper /etc/rsnapshot.conf rotate daily
45 23 * * 5 root /usr/sbin/rsnapshot-zfs-helper /etc/rsnapshot.conf rotate weekly
55 23 1 * * root /usr/sbin/rsnapshot-zfs-helper /etc/rsnapshot.conf rotate monthly
project/rsnapshot-zfs-helper/rsnapshot-example.1519310326.txt.gz · Last modified: 2018/02/22 15:38 by 92.75.65.74