zsnapper/zsnapper.ini-sample

110 lines
3.5 KiB
Plaintext
Raw Normal View History

# zsnapper sample configuration
# Each section is the name of a ZFS file system
# All settings are applied recursively to all file system descendants
#
[tank]
# Frequency of snapshots
# Set to empty value to disable snapshoting
#
# Interval units are 'd', 'h' and 'm' for days, hours and minutes.
# they can also be combined if you for example wants a snapshot taken every 1 and a half days:
;snapshot_interval=1d 12h
snapshot_interval=1h
# Remote replication
# possible other value is 'latest' to only sync the latest snapshot
# Set to empty value to not send the snapshots to remote
send_enable=all
# source_zfs_cmd is the command to execute zfs locally.
# The target_zfs_cmd option is the command to use to execute zfs on target machine.
# target_test_cmd, if set, is executed before trying to send any snapshot to remote.
# If target_test_cmd returns a non-zero status the remote is considered to be unavailable
# and no snapshots are sent. (A warning is written in the log though)
#
# NOTE:
# The command arguments must not contain whitespace characters, due to implementation details.
#
# Variables can be used in target_zfs_cmd and target_test_cmd. Any setting
# available in the section can be used as a variable
source_zfs_cmd=/usr/bin/sudo /sbin/zfs
target_zfs_cmd=/usr/bin/ssh ${target_user}@${target_host} /usr/bin/sudo /sbin/zfs
target_test_cmd=/usr/bin/ssh ${target_user}@${target_host} echo "success"
# The target_host option is optional but recommended if you send snapshots to a remote host.
target_host=my.backup.server.tld
# target_user is not a actually a zsnapper option; but it's used as a variable in the remote commands.
target_user=backup
# target_fs is the file system on the receiving side that should receive zfs sends
# for this file system.
# NOTE:
# Just like any other option this is inherited by file system descendants,
# but if a child has the same target_zfs_target as the parent, the child
# will instead use this to figure out where the parent is and be sent to
# it position relative to the parent.
# For example: The local file system tank/ROOT will be sent to tank/backup/client/ROOT.
target_fs=tank/backup/client
# These can be set to use custom arguments to zfs send and zfs receive
send_flags=-D -p
recv_flags=
# snapshot weeding
# set weed_enable to an empty value to disable snapshot weeding.
# NOTE:
# If weeding is enabled but no keep_<time> setting is configured all
# your snapshots, except the latest, will be removed. Make sure to
# configure your weeding settings carefully.
weed_enable=1
keep_hourly=24
keep_daily=7
keep_weekly=4
keep_monthly=4
[tank/SWAP]
snapshot_interval=
send_enable=
[tank/media]
snapshot_interval=
send_enable=
[tank/tmp]
snapshot_interval=
send_enable=
[tank/var/log]
snapshot_interval=1m
keep_1min=5
keep_15min=4
[tank/var/tmp]
snapshot_interval=
send_enable=
# '@' in the section title indicates that this file system is not local
# note that the *_zfs_cmd settings.
#
# The remote snapshots are only created *after* the local, after zsnapper
# has aquired the execution lock, so if zsnapper takes a long time to execute
# some snapshotting may be delayed.
#
# the '@' is required since zsnapper otherwise have no way to know which
# filesystems are on the same server...
[zroot/backup@remote_system1]
source_zfs_cmd=/usr/bin/ssh user@remote_system1 /sbin/zfs
target_zfs_cmd=/sbin/zfs
send_enable=all
snapshot_interval=1h
target_fs=tank/backup/remote_system1
recv_flags=-u
weed_enable=1
keep_hourly=24
keep_daily=7
keep_weekly=4
keep_monthly=4