#!/bin/bash # config file for hardlinkedBackups # files/paths to exclude from backup (via --exclude) excludes=( 'path/to/exclude/from/backup' 'yet/another/one' ) # definition of backups to do declare -A backups backups['directBackup']='/path/to/destination/ user@source:path' backups['proxiedBackup']='/path/to/destination/ user@source:path proxy_user@ssh_host' # bwlimits of the respective backups (consult "man rsync" for details) declare -A backupLimits backupLimits['slowBackup']='500k' # which directories must be mounted before we can run successfully neededMounts=('/data') # how long to wait for destination directories to appear in last-backups [seconds] maxWait=100 # how old may (seldom) backups be before we warn about outdated ones [seconds] outdatedLimit=$[2*24*60*60] outdatedSeldomLimit=$[3*7*24*60*60] # list of backups which should be made less often seldomBackups=( 'slowBackup' ) # number of days that should pass between seldom backups seldomness=14 # subdirectories which should be appended to the parent directory in the report recognSubdirRegex='boot\|crypt\|erich\|home\|neu\|root\|var' # directory for caching valuable information in backup-statistics cacheDir='/var/cache/backup' # timeout for `du` in backup-progress [seconds] du_timeout=30 # hook to execute before connecting via ssh or rsync preConnectHook() { : }