#zfs_path = '/sbin/zfs' #fswatch_path = '/usr/bin/fswatch' # Tab size for indented log messages #tab_size = 2 # Log format #log_level = INFO #log_format = '%(asctime)s %(name)s [%(levelname)-8s]: %(message)s' #log_date_format = '%a, %d %b %Y, %H:%M:%S' # Field separator in snapshot names (':' gives 'dataset@tag:serial') #separator = ':' # Polling interval for expired snapshot destructor #destroy_trigger = cron('* * * * *') # Default settings for a schedule defaults = dict( # Unique snapshot tag for schedule # tag = 'zasd', # Whether the schedule should be executed # disabled = False, # Datasets to watch (must have mountpoints) # filesystems = ['tank'], # Whether to watch child datasets # recursive = True, # Time trigger for snasphot # trigger = every(hours=12), # Whether to ignore triggers on filesystems whose files # have not been modifed since the trigger was last fired # Enabling this for a filesystem will cause an instance # of fswatch to launch for every ZFS filesystem. This # may use a lot of open file descriptors, so maybe avoid # if you have large filesystems with lots of folders. # Taking snapshots unconditionally is probably more # reliable. # if_modified = False, # Priority for snapshot; if more than one trigger fires # at once on the same filesystem, the trigger with the # highest priority wins out # priority = 1, # The maximum number of snapshots kept at any given time # keep = 14 ) # The simplest possible schedule list possible sets up a single # schedule with the default settings #schedules = [{}] # More advanced example schedule # schedules = [ dict( tag = '5mi', trigger = cron('*/5 * * * *'), priority = 6, keep = 4 ), dict( tag = '20m', trigger = cron('*/20 * * * *'), priority = 5, keep = 3 ), dict( tag = '1hr', trigger = cron('0 * * * *'), priority = 4, keep = 6 ), dict( tag = '6hr', trigger = cron('0 */6 * * *'), priority = 3, keep = 4), dict( tag = '1dy', trigger = cron('0 0 * * *'), priority = 2, keep = 7 ), dict( tag = '1wk', trigger = cron('0 0 * * mon'), priority = 1, keep = 4 ) ]