rsback
erwartet eine Konfigurationsdatei, in der globale Einstellungen festgelegt sind und für jede Backup-Aufgabe (task) die notwendigen Parameter enthalten sind.
# rsback sample configuration # # This file is expected as /etc/rsback/rsback.conf by default. # # If you want to have it somewhere else, use # # rsback.pl -c... # # or change the path of the default configuration file # in rsback ($rsback_conf). # # hjb -- 2007-11-25 #----------------------------------------------------- # # global parameters # [global] # # location of some commands we need # rsync_cmd = /usr/bin/rsync cp_cmd = /bin/cp mv_cmd = /bin/mv rm_cmd = /bin/rm mkdir_cmd = /bin/mkdir # # List of backup tasks # # For each backup tree you specify here there must exist a corresponding section # describing the individual backup tasks. E.g., if you define # backup = work-daily work-weekly libs # the sections [work-daily], [work-weekly] and [libs] must follow. tasks = vs-work-daily vs-work-weekly \ vs-work2-daily vs-work2-weekly \ stoffel stoffel2 \ vs-mail-daily vs-mail-daily-update # The directory where the lock files will be created. # Specify a directory by giving an absolute path without a # trailing slash # lock_dir = /var/lock # # additional rsync options used in backup mode 'rsync' # # options used in any case are: -al --delete --delete-excluded --exclude-from=... # ;rsync_options = -v --stats rsync_options = -val --delete --delete-excluded --stats --numeric-ids # # File patterns to exclude from backup regardless of the backup task # # -optional- exclude_file = /etc/rsback/global.exclude # # If the current task is locked by an other task (see lock_dir above) # then this parameter may be used to try to restart the task after some # time of delay. # The default delay value is 10 minutes. # # -optional- if_locked_retry = 3 10m # # This defines how to proceed if a system command used by rsback # fails. A value of 'no' means that subsequent tasks given on the # command line are skipped (this is the default behaviour). If this # parameter is set to 'yes' then only the actual task is aborted but # following tasks, given on the command line, are started as if no error # has occured. # # -optional- if_error_continue = yes # # use rsync's --link-dest option # # Do not use '--link-dest' as an explicit rsync_option below! # # -optional- use_link_dest = yes # # ignore these rsync error codes at all # # -optional- # used here: # 10: Error in socket I/O # 12: Error in rsync protocol data stream # 24: Partial transfer due to vanished source files ignore_rsync_errors = 10 12 24 #----------------------------------------------------- # # backup of VServer work on the remote host 'mother' # [vs-work-daily] # # rsync runs on the remote host mother as a daemon. # We are connected to mother via an OpenVPN tunnel, # so we dont't have to use encryption. # source = rsback@mother::vs-work destination = /BACKUP1/mother/vservers/work rotate = daily 10 mode = rsync rsync_options = -al --delete --delete-excluded --stats --password-file /etc/rsback/mother/secret [vs-work-weekly] # # The weekly backup is taken from the most recent daily backup set in the local repository. # We use hard-links (mode = link) for weekly backups to save disk space. # source = /BACKUP1/mother/vservers/work/daily.1/ destination = /BACKUP1/mother/vservers/work rotate = weekly 12 mode = link #...................................................... # # duplicate the backups from above on the second backup disk mounted to /BACKUP2 # [vs-work2-daily] source = /BACKUP1/mother/vservers/work/daily.1/ destination = /BACKUP2/mother/vservers/work rotate = daily 10 mode = rsync rsync_options = -al --delete --delete-excluded --stats [vs-work2-weekly] source = /BACKUP2/mother/vservers/work/daily.1/ destination = /BACKUP2/mother/vservers/work rotate = weekly 12 mode = link #----------------------------------------------------- # # Backup data storage from remote host stoffel # [stoffel] # # stoffel is connected to the internet via DSL dialup-link. # Therefore we limit the bandwidth used by rsync to keep the # dial-up link usable for some other services on stoffel. # We connect as user 'rsback' via ssh to the remote system # using rsback's private key (no password required). # The user rsback@stoffel is allowed to run rysnc as root on the remote system. # To skip some special files, we use an additional exclude file here. source = rsback@stoffel.our-dynamic-dns-provider.net:/var/projects/data/ destination = /BACKUP1/stoffel/data rotate = backup 12 mode = rsync exclude_file = /etc/rsback/stoffel/data.exclude rsync_options = -al --safe-links --delete --delete-excluded --stats --numeric-ids --bwlimit=25 \ -e "ssh -i /root/.ssh/stoffel-rsback.id_rsa -p 22022" --rsync-path='sudo rsync' [stoffel2] # # duplicate backup above on the second backup disk # source = /BACKUP1/stoffel/data/backup.1/ destination = /BACKUP2/stoffel/data rotate = backup 12 mode = rsync rsync_options = -al --delete --delete-excluded --stats #----------------------------------------------------- # # Local backup of virtual server using two tasks # #----------------------------------------------------- # # first task: backup running server # [vs-mail-daily] source = /vservers/mail/ destination = /BACKUP/vservers/mail rotate = daily 10 mode = rsync rsync_options = -al --delete --delete-excluded --stats --numeric-ids exclude_file = /etc/rsback/vservers.exclude use_link_dest = yes lock = vs-mail-daily-update # second task: backup stopped server # Run this task immediately after task [vs-mail-daily], as soon as # vserver has stopped. [vs-mail-daily-update] # Use same parameters as in task [vs-mail-daily] but don't rotate. # This will update the most recent backup archive mail/daily.1 update = vs-mail-daily