Default Client Configuration ============================ .. code-block:: bash # ############################################################################# # Backup Configuration File for DRLM centralized configuration. # # # # This file has been generated by instclient , It can be modified at your # # convenience, see https://docs.drlm.org/ or http://relax-and-recover.org/ # # for more information. # # # # (Configuration examples in /usr/share/drlm/conf/samples/) # ############################################################################### # DRLM v2.4.13 # # ================================ # DRLM automatically generates a ReaR configuration file in function of three # variable values, DRLM_BKP_TYPE, DRLM_BKP_PROT and DRLM_BKP_PROG. # Default backup type, protocol and program are # #DRLM_BKP_TYPE=ISO #DRLM_BKP_PROT=RSYNC #DRLM_BKP_PROG=RSYNC # ===== # DRLM_BKP_TYPE --> backup type (ISO, ISO_FULL, ISO_FULL_TMP, PXE, RAWDISK or DATA) # DRLM_BKP_PROT --> transport protocol (RSYNC or NETFS) # DRLM_BKP_PROG --> backup program (RSYNC or TAR) # ===== # Backup type ISO generates a rescue image in ISO format and backup data is stored # in a DRLM server directory. # # DRLM_BKP_TYPE=ISO # |-- DRLM_BKP_PROT=RSYNC # |-- DRLM_BKP_PROT=NETFS # |-- DRLM_BKP_PROG=TAR # |-- DRLM_BKP_PROG=RSYNC # ===== # Backup type ISO_FULL generates a rescue image in ISO format that also contains the data # Is important to know that the iso image is generated in the client and once done is send # to DRLM server. For that the client needs to have as much free space as its own ISO. If # the client have not enough free space to generate the ISO is possible to user ISO_FULL_TMP # that generates the ISO image in a NFS temporaly directory of DRLM server. # # DRLM_BKP_TYPE=ISO_FULL # or # DRLM_BKP_TYPE=ISO_FULL_TMP: # ===== # Backup type PXE generates the PXE files suitable for booting with pxelinux over the network # and backup data is stored in a DRLM server directory. # # DRLM_BKP_TYPE=PXE # |-- DRLM_BKP_PROT=RSYNC # |-- DRLM_BKP_PROT=NETFS # |-- DRLM_BKP_PROG=TAR # |-- DRLM_BKP_PROG=RSYNC # ===== # Backup type RAWDISK generates a rescue image in RAWDISK format. Backup data is stored in a # DRLM server directory. # # DRLM_BKP_TYPE=RAWDISK # |-- DRLM_BKP_PROT=RSYNC # |-- DRLM_BKP_PROT=NETFS # |-- DRLM_BKP_PROG=TAR # |-- DRLM_BKP_PROG=RSYNC # ===== # Backup type DATA only does data bakup, it does not generate a rescue image. Backup type DATA # must be used in conjunction with the parameter BACKUP_PROG_INCLUDE described below and it # may be useful to use it by enabling incremental backups, DRLM_INCREMENTAL, also described below. # ===== # DRLM_BKP_TYPE=DATA # |-- DRLM_BKP_PROT=RSYNC #(Default) # |-- DRLM_BKP_PROT=NETFS # |-- DRLM_BKP_PROG=TAR # |-- DRLM_BKP_PROG=RSYNC # ================================ # SSH_ROOT_PASSWORD defines a password for remote access to the recovery system as 'root' via SSH # without requiring a public/private key pair. This password is valid only while the recovery system # is running and will not allow access afterwards to the restored target system. # In the recovery system the password is stored in hashed MD5 format (do not forget the password). # Both SSH_ROOT_PASSWORD='plain_text_password' and SSH_ROOT_PASSWORD='hashed_password' are possible. # To avoid a plain text password in the etc/rear/local.conf config file # generate a hashed password with the command # echo 'my_recovery_system_root_password' | openssl passwd -1 -stdin # and use the output of openssl to set SSH_ROOT_PASSWORD='output_of_openssl' # (single quotes avoid issues with the special bash character $ in the openssl output). # SSH_ROOT_PASSWORD is ignored when SSH_FILES is set to a 'false' value. # #SSH_ROOT_PASSWORD='drlm' ################################## # Additional DRLM Configurations # ################################## # ================================ # ==== History Backup files ====== # ================================ # Max numbers of backups for client backup configration to keep in filesystem # #HISTBKPMAX=2 # =============================== # ==== Backup Policy Config ===== # =============================== # Backup Policy Rules # The backup policy rules are defined in the BKP_POLICY_RULES array. # Each rule is defined as a string with the following formats: # ## DAYS # [Number] [day] [from HH:MM to HH:MM] # '7 day' --> 7 days from 00:00 to 23:59 # ## WEEKS # [Number] [week] ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun" "first" DEF:"last"] [from HH:MM to HH:MM] # '8 week' --> 8 weeks from 00:00 to 23:59 on last day of the week # '4 week Sun' --> 4 weeks from 00:00 to 23:59 on Sundays # '8 week from 02:00 to 6:00' --> 8 weeks from 02:00 to 6:00 # ## MONTHS # [Number] [month] ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun" "first" DEF:"last"] [from HH:MM to HH:MM] # '6 month' --> 6 months from 00:00 to 23:59 on last day of the month # '6 month Sun' --> 6 months from 00:00 to 23:59 on Sundays # '6 month Sun from 02:00 to 6:00' --> 6 months from 02:00 to 6:00 on Sundays # '6 month first' --> 6 months from 00:00 to 23:59 on first day of the month # ## YEARS # [Number] [year] ["Mon" "Tue" "Wed" "Thu" "Fri" "Sat" "Sun" "first" DEF:"last"] [from HH:MM to HH:MM] # '4 year' --> 4 years from 00:00 to 23:59 on last day of the year # '4 year Sun' --> 4 years from 00:00 to 23:59 on last Sunday of the year # '4 year Sun from 02:00 to 6:00' --> keep newest backup of last Sunday from 02:00 to 6:00 of the last 4 years # ## SPECIAL DATES # [Number or #(all)] [YYYYMMDD ('_' = any single character | '%' = any sequence of characters)] [from HH:MM to HH:MM] # '4 ____1001' --> keep newest backup of the last 4 years of the 1st of October # '# ____0725' --> keep newest backup of each 25th of July # '# 202301% from 02:00 to 6:00' --> keep newest backup of each day of January of the year 2023 from 02:00 to 6:00 # Example of Backup Policy Rules # # BKP_POLICY_RULES=( # '15 day' # '8 week' # '6 month Sun' # '4 year Sun' # ) # # Backup Policy defaults # BKP_POLICY_FDW="Mon" # "Mon" "Sun" (First Day of the Week) # BKP_POLICY_SAVE="newest" # "newest" "oldest" (If there are multiple backups within the same day/hour range, specify which one to keep) # BKP_POLICY_FROM_HOUR="00:00" # "00:00" to "23:59" (Backup Policy start time) # BKP_POLICY_TO_HOUR="23:59" # "00:00" to "23:59" (Backup Policy end time) # To apply the backup policy rules, set BKP_POLICY_AUTO_APPLY to "true" and at the end of each backup the backup policy rules will be applied. # BKP_POLICY_AUTO_APPLY="false" # "true" "false" (Apply the backup policy rules automatically) # ================================ # ===== Incremental Backups ====== # ================================ # DRLM_INCREMENTAL by default incremental backups are disabled. Put # this var to "yes" in order to enable # #DRLM_INCREMENTAL="yes" # DRLM_INCREMENTAL_HIST defines how many snaps to save # #DRLM_INCREMENTAL_HIST=6 # DRLM_INCREMENTAL_BEHAVIOR # 0 - Always incremental. When DRLM_INCREMENTAL_HIST is exceeded deletes the oldest snap. HISTBKPMAX is ignored. # 1 - New and empty DR File. When DRLM_INCREMENTAL_HIST is exceeded makes a New and empty DR File before runbackup # 2 - New inherited DR File. When DRLM_INCREMENTAL_HIST is exceeded makes a New DR File from last backup. # #DRLM_INCREMENTAL_BEHAVIOR=1 # ================================ # == DRLM DEFAULT BACKUP STATUS == # ================================ # Default backup status after a run backup. # DRLM_DEFAULT_BKP_STATUS=[ enabled | disabled | write | full-write ] # enabled: Enabled in read only mode # disabed: Disabed # write: Enabled in local read/write mode # full-write: Enabled in local and remote read/write mode # #DRLM_DEFAULT_BKP_STATUS="enabled" ################ ---- DRLM_ENCRYPTION # # DRLM_ENCRYPTION=[ disabled | enabled ] # # The encryption key must be base64 encoded = 'echo "password" | base64' # DRLM_ENCRYPTION_KEY # ######## #DRLM_ENCRYPTION="enabled" #DRLM_ENCRYPTION_KEY= # ================================ # ======= Pretty Options ========= # ================================ # Backups of less than BACKUP_SIZE_STATUS_FAILED in megabytes will show in red color in list backups # #BACKUP_SIZE_STATUS_FAILED=200 # Backups of less than BACKUP_SIZE_STATUS_WARNING in megabytes will show in orange color in list backups # #BACKUP_SIZE_STATUS_WARNING=800 # Backups that take less than BACKUP_TIME_STATUS_FAILED in seconds will show in red color in list backups # #BACKUP_TIME_STATUS_FAILED="60" # Backups that take less than BACKUP_TIME_STATUS_WARNING in secods will show in orange color in list backups # #BACKUP_TIME_STATUS_WARNING="120" ################################## # Additional ReaR Configurations # ################################## # ================================ # ========== Data Only =========== # ================================ # When DRLM_BKP_TYPE is set to 'DATA' value # only what is specified in BACKUP_PROG_INCLUDE will be in the backup # but not implicitly also all local filesystems as defined in mountpoint_device: # # BACKUP_PROG_INCLUDE=( '/home' ) # ================================ # ========= Exclusions =========== # ================================ # Exclude LVM2 volume groups. This will automatically exclude also the creation of the # corresponding physical and logical volumes that belong to the excluded volume group. # You must also exclude the corresponding mountpoints in EXCLUDE_MOUNTPOINTS (see above) # otherwise "rear recover" would try to recreate the filesystems onto non-existing LVs. # # EXCLUDE_VG=( 'Volume_Grup1' 'Volume_Grup2' ) # Exclude filesystems by specifying their mountpoints. Will be automatically added to the # $BACKUP_PROG_EXCLUDE array during backup to prevent the excluded filesystems' data to # be backed up # # EXCLUDE_MOUNTPOINTS=( '/Mount_Point1' '/Mount_Point2' ) # BACKUP_PROG_EXCLUDE is an array of strings that get written into a backup-exclude.txt file # that is used e.g. in 'tar -X backup-exclude.txt' to get things excluded from the backup. # Proper quoting of the BACKUP_PROG_EXCLUDE array members is crucial to avoid bash expansions. # In /etc/rear/local.conf use BACKUP_PROG_EXCLUDE+=( '/this/*' '/that/*' ) # to specify your particular items that should be excluded from the backup in addition to what # gets excluded from the backup by default here (see also BACKUP_ONLY_EXCLUDE below): # # BACKUP_PROG_EXCLUDE+=( '/backup*' '/var/lib/rear/*' '/dev/vx/*' '/dev/dmpconfig/*' '/dev/dmpconfig' '/dev/vx/dmpconfig' ) # When BACKUP_ONLY_EXCLUDE is set to a 'true' value # only what is specified in BACKUP_PROG_EXCLUDE will be excluded from the backup # but not implicitly also all excluded mountpoints in EXCLUDE_MOUNTPOINTS: # # BACKUP_ONLY_EXCLUDE="no" # ================================ # ========= Inclusions =========== # ================================ # Only include LVM2 volume groups - the opposite of EXCLUDE_VG (handy if you only want vg00 to be included) # EXCLUDE_VG and EXCLUDE_MOUNTPOINTS will get populated automatically, if needed # syntax : e.g. ONLY_INCLUDE_VG=( "vg00" "vg01" ) # # ONLY_INCLUDE_VG=( 'Volume_Grup1' 'Volume_Grup2' ) # ================================ # ======== Custom Scripts ======== # ================================ # NOTE: The scripts can be defined as an array to better handly spaces in parameters. # The scripts are called like this: eval "${PRE_RECOVERY_SCRIPT[@]}" # Call this after Relax-and-Recover did everything in the recover workflow. # Use $TARGET_FS_ROOT (by default '/mnt/local') to refer to the recovered system. # #POST_RECOVERY_SCRIPT= # Call this before Relax-and-Recover starts to do anything in the recover workflow. You have the rescue system but nothing else # #PRE_RECOVERY_SCRIPT= # PRE/POST Backup scripts will provide the ability to run certain tasks before and after a ReaR backup. # for example: # If a small database running on local filesystem and dependent on a local service, you will maintain its data consistency. # Stopping it before backup and restarting again after. # In case of any error during backup, if POST tasks were defined, ReaR will run those POST tasks within ExitTasks Array. # This will prevent that the database remain stopped. # Call this after Relax-and-Recover finished to do anything in the mkbackup/mkbackuponly workflow. # #POST_BACKUP_SCRIPT= # Call this before Relax-and-Recover starts to do anything in the mkbackup/mkbackuponly workflow. # #PRE_BACKUP_SCRIPT= # ================================ # ======== Boot Over SAN ========= # ================================ # Use this setup if your client boot disks are not internal but in a SAN/Disk Cabinet. #AUTOEXCLUDE_MULTIPATH=n #BOOT_OVER_SAN=y #MODULES=( ${MODULES[@]} dm-multipath ) #MODULES_LOAD=( ${MODULES_LOAD[@]} dm-multipath ) # ================================ # ======= SLES with BTRFS ======== # ================================ # NOTE: This config was tested and works for latest SLE12 and SLE15 systems with default BTRFS layouts. # Check carefully your BTRFS layout, as SUSE changed it on each SP iteration since they relaesed it # first time in SLES11 until they met the actual layout. If your systems were upgraded from thesie early # versions with BTRFS check your layout properly to adjust the configuration for a success recover. #REQUIRED_PROGS=( ${REQUIRED_PROGS[@]} 'snapper' 'chattr' 'lsattr' ) #COPY_AS_IS=( ${COPY_AS_IS[@]} '/usr/lib/snapper/installation-helper' '/etc/snapper/config-templates/default' ) #BACKUP_PROG_INCLUDE=( '/' ) #BACKUP_PROG_EXCLUDE=( '/.snapshots' ) #POST_RECOVERY_SCRIPT=( 'if snapper --no-dbus -r $TARGET_FS_ROOT get-config | grep -q "^QGROUP.*[0-9]/[0-9]" ; then snapper --no-dbus -r $TARGET_FS_ROOT set-config QGROUP= ; snapper --no-dbus -r $TARGET_FS_ROOT setup-quota && echo snapper setup-quota done || echo snapper setup-quota failed ; else echo snapper setup-quota not used ; fi' ) # ======================================= # ======= Complex Network setups ======== # ======================================= # If you have complex network setups on your systems you may need to setup your network in recovery before starting the recover process. # This is an example of a system with vlan tagging. Check if your HW vendor supports this kind of setup in UEFI to be able to # set a default VLAN ID in a NIC for bootingi when tagging/trunk is enabled. # Here the example to auto conrfigure the complex setup in recovery: # VLAN ID of DRLM network: 2011 # DRLM Client IP address: 192.168.0.10/24 # Network Interface Card: eno50 #NETWORKING_PREPARATION_COMMANDS=( 'modprobe 8021q' 'ip link add link eno50 name eno50.2011 type vlan id 2011' 'ip link set dev eno50 up' 'ip link set dev eno50.2011 up' 'ip addr add 192.168.0.10/24 brd 192.168.0.255 dev eno50.2011' 'return' )