Skip to content

Instantly share code, notes, and snippets.

@omeier
Created March 3, 2014 09:49
Show Gist options
  • Save omeier/9321654 to your computer and use it in GitHub Desktop.
Save omeier/9321654 to your computer and use it in GitHub Desktop.
local.conf and site.conf
backup7:/etc/rear # cat local.conf
# Default is to create Relax-and-Recover rescue media as ISO image
# set OUTPUT to change that
# set BACKUP to activate an automated (backup and) restore of your data
# Possible configuration values can be found in /usr/share/rear/conf/default.conf
#
# This file (local.conf) is intended for manual configuration. For configuration
# through packages and other automated means we recommend creating a new
# file named site.conf next to this file and to leave the local.conf as it is.
# Our packages will never ship with a site.conf.
backup7:/etc/rear #
backup7:/etc/rear # cat site.conf
# Relax and Recover
#
# default configuration. Everything used should be set to a sane default here
#
# Relax-and-Recover is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# Relax-and-Recover is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with Relax-and-Recover; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# PLEASE NOTE:
#
# * Here we define and describe ALL configuration variables and set them to a sane
# default. Please do NOT change them here, but rather copy them to site.conf or
# local.conf
# * Most variables can be set to an empty value (VAR=) which means that this
# setting is off or set to some automatic mode.
# * Boolean variables can be set to anything as we only check wether the variable
# is not empty.
# * Some variables are actually bash arrays and should be treated with care.
# To set an empty array, use VAR=().
# The kernel configuration is used to collect the kernel binary and modules
# it can be set to a different version, e.g. to create a UP rescue media on a
# SMP system
KERNEL_VERSION="${KERNEL_VERSION:-$(uname -r)}"
# specify file of running kernel, overrides autodetection
KERNEL_FILE=""
# append special kernel parameters on rescue mediam
KERNEL_CMDLINE=""
# Relax-and-Recover knows several kernel parameters
# - adding 'debug' starts all init-scripts in debug (-X) mode and allows you to
# skip a script.
# - 'noip' prevents initialization of the networking configuration, useful when
# you want to prevent the system to use the same ip address.
# These variables are used to include arch/os/version specific stuff
# machine architecture, OS independant
REAL_MACHINE="$(uname -m)"
case "$REAL_MACHINE" in
(x86_64|i686|i586)
# all these behave exactly like i386. For 64bit we took care to handle the
# special cases within the 32bit scripts to prevent code duplication
MACHINE=i386
;;
(*)
MACHINE=$REAL_MACHINE
esac
# Architecture, e.g. Linux-i386
ARCH="$(uname -s)-$MACHINE" 2>>/dev/null
REAL_ARCH="$(uname -s)-$REAL_MACHINE" 2>>/dev/null
# Short hostname
HOSTNAME="$(hostname -s 2>/dev/null || uname -n | cut -d. -f1)"
# Logfile name
# NOTE: This may not be dynamic, else deal with .bash_history in rescue system
LOGFILE="$LOG_DIR/rear-$HOSTNAME.log"
# Operating System, e.g. GNU/Linux
OS="$(uname -o)"
# vendors are SuSE Linux, Red Hat, Debian, Ubuntu, etc. as returned by lsb_release -i -s
OS_VENDOR="SUSE LINUX"
# versions are 9.0 10 6.06, as returned by lsb_release -r -s
OS_VERSION=11
# keep the build area after we are done ? (BOOL)
KEEP_BUILD_DIR="1"
# no default workflows. This variable is filled in where the worklflows are defined
WORKFLOWS=( )
# allow some workflows to not lock, also generates a separate log
LOCKLESS_WORKFLOWS=( )
# default backup and output targets
BACKUP=NSR
OUTPUT=ISO
# default cdrom size (in MB)
CDROM_SIZE=20
# files whose changes warrant a new rescue image
CHECK_CONFIG_FILES=( '/etc/drbd/' '/etc/drbd.conf' '/etc/lvm/lvm.conf' '/etc/multipath.conf' '/etc/rear/' '/etc/udev/udev.conf' )
##
# Output/backup locations
##
# The URL defines the remote share as <scheme>://<host>/<share> like these examples:
# nfs://host.domain/path/path/path
# cifs://server.domain/share
# usb:///dev/sdb1
# others might also work, if they can be mounted with mount <host>:/<path>
# there is special support for tape:///dev/nst0
# Additional options to the mount command are given using *_OPTIONS
# Alternatively, you can provide your own mount/unmount commands, in that case
# Relax-and-Recover will append its mountpoint to the command.
# specify the location of the backup (see text above)
BACKUP_URL=nfs://dd990.fqdn/data/col1/rear/backup
# BACKUP_OPTIONS variable contains the mount options, do not confuse with BACKUP_PROG_OPTIONS
BACKUP_OPTIONS=
BACKUP_MOUNTCMD=
BACKUP_UMOUNTCMD=
# specify the location of the output
OUTPUT_URL=nfs://dd990.fqdn/data/col1/rear/output
OUTPUT_OPTIONS=
OUTPUT_MOUNTCMD=
OUTPUT_UMOUNTCMD=
OUTPUT_PREFIX="$HOSTNAME"
# keep an older copy of the output (mv $OUTPUT_PREFIX $OUTPUT_PREFIX.old before we copy the new version)
# empty means only keep current output
KEEP_OLD_OUTPUT_COPY=
##
# OUTPUT=RAMDISK stuff
##
# Configure the name of the kernel and initramfs
# The kernel will be kernel-$RAMDISK_SUFFIX
# The initramfs will be initramfs-$RAMDISK_SUFFIX.img
RAMDISK_SUFFIX="$HOSTNAME"
##
# OUTPUT=ISO stuff
##
# ISO produces files suitable for booting with isolinux and assumes that the result
# will be written sequentially to a read-only media with limited size (e.g. optical media)
# default ISO dir
ISO_DIR=$VAR_DIR/output
# default ISO volid
ISO_VOLID="RELAXRECOVER"
# how to find isolinux.bin. Possible values are "" (meaning search for it)
# or "/path/to/isolinux.bin"
ISO_ISOLINUX_BIN="/usr/share/syslinux/isolinux.bin"
# maximum size of generated ISO images. Multiple images will be generated if the size exceed.
# it's usefull when backups are located in the ISO image
ISO_MAX_SIZE=
# how to find mkisofs
# guess the common names mkisofs or genisoimage
# script in prep stage will verify this and complain if not found
ISO_MKISOFS_BIN="$(type -p mkisofs || type -p genisoimage)"
# which files to include in the ISO image
ISO_FILES=()
# contains the resulting ISO images(s) (this variable is filled in by the
# ISO output module and is used mostly internally)
ISO_IMAGES=()
# Prefix name for ISO images without the .iso suffix.
# This might get a number appended (for splitting data onto multiple CDs).
ISO_PREFIX="rear-$HOSTNAME"
##
# OUTPUT=USB stuff
##
# USB produces files suitable for booting with extlinux, USB sticks are just the main use for this
# The device is also made bootable and a boot loader installed.
# The device must be partitioned and formatted with an ext* file system.
#
# NOTE: "USB" means any local block-storage device and includes also eSATA and other external disks
# the device to use, set automatically by BACKUP=NETFS and BACKUP_URL=usb:///dev/sdb1
USB_DEVICE=
# resulting files that should be copied onto the USB stick
USB_FILES=()
# Number of rescue environments/backups to retain on USB
USB_RETAIN_BACKUP_NR=2
# Define the default WORKFLOW for the udev handler (empty to disable)
UDEV_WORKFLOW=mkrescue
# Beep when udev handler has finished
UDEV_BEEP=y
# Suspend the (USB) device when udev handler has finished ?
UDEV_SUSPEND=y
# Turn the UID led on during udev workflow
UDEV_UID_LED=y
##
# PXE stuff
##
# PXE produces files suitable for booting with pxelinux.
# where should I place the PXE configuration ?
PXE_CONFIG_PATH=/var/lib/rear/output
# put this before the hostname on the PXE server
PXE_CONFIG_PREFIX=rear-
# where should we put the TFTP files ?
PXE_TFTP_PATH=/var/lib/rear/output
# prefix for PXE files, e.g. the hostname
PXE_TFTP_PREFIX=$HOSTNAME.
# Create pxelinux config symlinks for MAC addresses or for IP addresses ? [MAC|IP|'']
PXE_CREATE_LINKS=MAC
# Should I remove old symlinks for this host ? [BOOL]
PXE_REMOVE_OLD_LINKS=
##
# internal BACKUP stuff
##
# These settings apply to all cases of internal Relax-and-Recover backup
#
# BACKUP Program defaults. mostly tested with tar and rsync
# by default all local filesystems will be saved
# for a full understanding of these options, look at backup/NETFS/default/*.sh
# NOTE: The BACKUP_* variables relate to ALL builtin backup methods !
# (NETFS, ISO, TAPE ...)
BACKUP_PROG=tar
# some backup progs can tell us if the transfer was only partially successful.
# Warning on partial transfers means that we won't abort but only print a warning. [BOOL]
BACKUP_PROG_WARN_PARTIAL_TRANSFER=1
# if using an unsupported backup program, the last option must be to write the archive to / read
# the archive from a file (like tar -f)
# then you also have to set the CREATE and RESTORE archive options. They are *ignored* if the
# backup program is supported.
BACKUP_PROG_OPTIONS=""
# for unsupported backup programs, the last CREATE_ARCHIVE option must be to read excludes from a file
# (like tar -X filename). Furthermore, you should include an option for verbose output to stdout and
# an option to stay on the local filesystem (like tar --one-file-system) and maybe options to handle
# the exclude list correctly
BACKUP_PROG_OPTIONS_CREATE_ARCHIVE=""
# for unsupported backup programs, the last RESTORE_ARCHIVE options must be to restore the archive
# into a specific path (like tar -C /mnt/local)
BACKUP_PROG_OPTIONS_RESTORE_ARCHIVE=""
BACKUP_PROG_SUFFIX=".tar"
BACKUP_PROG_COMPRESS_OPTIONS="--gzip"
BACKUP_PROG_COMPRESS_SUFFIX=".gz"
# Addons for encryption of the backup (currently only tar is supported)
BACKUP_PROG_CRYPT_ENABLED=0
BACKUP_PROG_CRYPT_KEY=""
BACKUP_PROG_CRYPT_OPTIONS="/usr/bin/openssl des3 -salt -k "
BACKUP_PROG_DECRYPT_OPTIONS="/usr/bin/openssl des3 -d -k "
# one could also create a dynamic name, e.g. "backup_$(date -Iseconds)"
BACKUP_PROG_ARCHIVE="backup"
BACKUP_PROG_EXCLUDE=( '/tmp/*' '/dev/shm/*' )
BACKUP_PROG_INCLUDE=( )
# Disable SELinux policy during backup with NETFS or RSYNC (default yes)
BACKUP_SELINUX_DISABLE=1
# Enable integrity check of the backup archive (only with BACKUP=NETFS and BACKUP_PROG=tar)
BACKUP_INTEGRITY_CHECK=
# define BACKUP_TYPE (default empty [full]) or incremental - only with BACKUP=NETFS and BACKUP_PROG=tar
BACKUP_TYPE=
#
# program files (find them in the path). These progs are optional,
# if they are missing, nothing happens
PROGS=( )
# required programs. Same as above, but if they are missing, we abort.
REQUIRED_PROGS=(
"$SCRIPT_FILE"
bash
awk
cpio
dd
df
getopt
ip
tar
sort
mv
uniq
grep
loadkeys
kbd_mode
dumpkeys
diff
join
pwd
file
pidof
sync
)
# library files
LIBS=()
# kernel modules to include on the rescue media in addition to the ones
# present at mkrescue time
MODULES=()
# autoload these modules in the given order
MODULES_LOAD=()
# modules to exclude on the rescue media
EXCLUDE_MODULES=()
# files/dirs to copy as-is (with tar)
COPY_AS_IS=( $SHARE_DIR $VAR_DIR )
# things to exclude from the copy
COPY_AS_IS_EXCLUDE=( dev/shm dev/shm/\* dev/.udev $VAR_DIR/output/\* )
# users and groups to copy to the rescue system
CLONE_USERS=()
CLONE_GROUPS=(group disk cdrom floppy tape audio video lp tty dialout kmem uucp ssh_keys )
# copy all available users and groups on the rescue system.
# this variable overrides CLONE_USERS and CLONE_GROUPS
CLONE_ALL_USERS_GROUPS=n
# This option defines a root password to allow SSH connection whithout a public/private key pair
SSH_ROOT_PASSWORD=
# time synchronisation, could be NTP, RDATE or empty
TIMESYNC=
# set a timesync source, mostly needed for RDATE
TIMESYNC_SOURCE=
##
# BACKUP=GALAXY stuff
##
# Note: This is for Galaxy 5 (tested) und probably 6 (untested)
#
COPY_AS_IS_GALAXY=( /lib/libm* /opt/galaxy /etc/Galaxy.pkg /etc/CommVaultRegistry )
COPY_AS_IS_EXCLUDE_GALAXY=( "/opt/galaxy/iDataAgent/jobResults/*" "/opt/galaxy/Updates/*" "/opt/galaxy/Base/Temp/*" )
GALAXY_COMMCELL=
GALAXY_PORT=8401
GALAXY_LOGONID=
GALAXY_INSTANCE=
GALAXY_BACKUPSET=
##
# BACKUP=GALAXY7 stuff
##
# Note: This is for Galaxy 7 (tested) and maybe also for 6 (untested)
#
COPY_AS_IS_GALAXY7=( /lib/libm* /opt/galaxy /etc/CommVaultRegistry )
COPY_AS_IS_EXCLUDE_GALAXY7=( "/opt/galaxy/iDataAgent/jobResults/*" "/opt/galaxy/Updates/*" "/opt/galaxy/Base/Temp/*" )
# Use this default backup set. If left empty we will prompt the user at restore time for
# the appropriate backup set to use. Could be set to a global organisation-wide default
# in site.conf ...
GALAXY7_BACKUPSET=
# Use this argument file for all Galaxy commands. You can place some general stuff here
# and also use this file to store the logon credentials to Galaxy. This file will be
# automatically included in COPY_AS_IS
GALAXY7_Q_ARGUMENTFILE=
##
# BACKUP=TSM stuff
##
#
COPY_AS_IS_TSM=( /etc/adsm/TSM.PWD /opt/tivoli/tsm/client /usr/local/ibm/gsk8* )
COPY_AS_IS_EXCLUDE_TSM=( )
PROGS_TSM=(dsmc)
# where to copy the resulting files to and save them with TSM
TSM_RESULT_FILE_PATH=/opt/tivoli/tsm/rear
#
# Additional dsmc options for restore. Point-in-time read from user
# input is also added to this array.
TSM_DSMC_RESTORE_OPTIONS=( )
#
# Point-in-time date to use, calculated from user input during recovery.
# User input is read as YYYY-MM-DD, but internally MM/DD/YYYY is used.
# (Used internally)
TSM_RESTORE_PIT_DATE=
#
# Point-in-time time to use, calculated from user input during recovery.
# Format is HH:mm:ss.
# (Used internally)
TSM_RESTORE_PIT_TIME=
#
# Should the result from mkrecover/backup saved via TSM
# You can disable these saving when the result is saved on an different way (ISO_URL....)
# (y/n) default to y
TSM_RESULT_SAVE=y
##
# OUTPUT=OBDR stuff
##
#
COPY_AS_IS_OBDR=( )
COPY_AS_IS_EXCLUDE_OBDR=( )
REQUIRED_PROGS_OBDR=( lsscsi sg_wr_mode )
# OBDR block size, known to work with 2048
OBDR_BLOCKSIZE=2048
##
# BACKUP=NBU stuff (Symantec/Veritas NetBackup)
##
#
COPY_AS_IS_NBU=( /usr/openv/bin/vnetd /usr/openv/bin/vopied /usr/openv/lib /usr/openv/netbackup /usr/openv/var/auth/[mn]*.txt )
COPY_AS_IS_EXCLUDE_NBU=( "/usr/openv/netbackup/logs/*" "/usr/openv/netbackup/bin/bpjava*" "/usr/openv/netbackup/bin/xbp" )
PROGS_NBU=( )
##
# BACKUP=DP stuff (HP DataProtector)
##
#
COPY_AS_IS_DP=( /opt/omni/lbin /opt/omni/bin/omnir /opt/omni/bin/omnidb /opt/omni/bin/omnimnt /opt/omni/bin/omnicellinfo /opt/omni/lib /etc/opt/omni/client )
COPY_AS_IS_EXCLUDE_DP=()
##
# BACKUP=NSR (EMC Networker; Legato)
##
#
# NSR_ROOT_DIR is relocatable - default location is /nsr
NSR_ROOT_DIR=/nsr
COPY_AS_IS_NSR=( $NSR_ROOT_DIR /opt/nsr /usr/lib/nsr /usr/lib64/gconv )
COPY_AS_IS_EXCLUDE_NSR=( "$NSR_ROOT_DIR/logs/*" )
PROGS_NSR=( nsrexec nsrexecd mminfo save savefs savepnpc recover nsrfsra nsrinfo nsrretrieve nsrwatch nsrports uasm )
# NSRSERVER is normally found automatically, but for the rare cases it is not found pls define it in local.conf
NSRSERVER=backupserver.fqdn
# RETENTION_TIME defines the retention time in EMC NetWorker for the result files (ISO image), default is "1 day"
# see nsr_getdate(3) for the valid choices (double-quotes are important)
RETENTION_TIME=
##
# BACKUP=SESAM (SEP Sesam: http://www.sep.de)
# path to sesam installation will be detected automatically in:
# prep/SESAM/default/40_prep_sesam.sh
##
COPY_AS_IS_SESAM=()
COPY_AS_IS_EXCLUDE_SESAM=()
##
# BACKUP=BACULA stuff (www.bacula.org stuff)
##
COPY_AS_IS_BACULA=( /etc/bacula /var/spool/bacula )
COPY_AS_IS_EXCLUDE_BACULA=( /var/lib/bacula )
PROGS_BACULA=( bacula-fd bconsole bacula-console bextract bls bscan btape smartctl )
# Provide the (possible) volume labels to restore from using bextract.
# Multiple entries can be separated by '|' and '*' wildcards are allowed.
# eg. VOL-*|Vol-*
BEXTRACT_VOLUME=
# Provide the Bacula archive device to use for restoring from, either the
# name of a tape device or a disk block device as configured for bacula-sd.
# eg. Ultrium-1 or /dev/sda1
BEXTRACT_DEVICE=
##
# BACKUP=BAREOS stuff (bareos.org)
##
COPY_AS_IS_BAREOS=( /etc/bareos /var/spool/bareos )
COPY_AS_IS_EXCLUDE_BAREOS=( /var/lib/bareos )
PROGS_BAREOS=( bareos-fd bconsole bareos-console bextract bls bscan btape smartctl )
# Provide the (possible) volume labels to restore from using bextract.
# Multiple entries can be separated by '|' and '*' wildcards are allowed.
# eg. VOL-*|Vol-*
BEXTRACT_VOLUME=
# Provide the Bareos archive device to use for restoring from, either the
# name of a tape device or a disk block device as configured for bareos-sd.
# eg. Ultrium-1 or /dev/sda1
BEXTRACT_DEVICE=
##
# BACKUP=DUPLICITY stuff
##
# DUPLICITY is a cloud based external backup method
# The program duply is wrapper script around duplicity which makes it much easier to use
# and script in rear - duply uses the concept of a profile (basically a script with vars
# to define your settings - use it as "duply <profile> status" to see it in action)
# By using DUPLY_PROFILE we will try an automatic restore, if duplicity directly is used
# then you better add some restore script in the COPY_AS_IS array
DUPLY_PROFILE=""
##
# BACKUP=NETFS stuff
##
# NETFS is an internal backup method that saves the backup into a mounted directory.
# This is usually a network share, but can also be used to create a backup to a local
# disk (by providing your own BACKUP_MOUNTCMD and BACKUP_UMOUNTCMD commands that mount the
# local disk. Please note that a backup to a local disk is not a disaster recovery backup.
#
# NETFS saves the system to a network file system. Supported are all filesystems that your
# system can handle, for some exotic filesystems you might have to extend Relax-and-Recover
# to correctly handle the URL or provide custom mount/umount commands.
# prefix directory to create under the network filesystem share
NETFS_PREFIX="$HOSTNAME"
# keep an older copy of the backup (mv $NETFS_PREFIX $NETFS_PREFIX.old before we copy the new version)
# empty means only keep current backup
NETFS_KEEP_OLD_BACKUP_COPY=
##
# BACKUP=RSYNC method
##
# RSYNC backup method uses rsync (using ssh or rsync) to make a backup to a remote network server
# prefix directory to create on the remote network filesystem
# default prefix is the short hostname
RSYNC_PREFIX="$HOSTNAME"
# RSYNC_PROTOCOL_VERSION=29 when rsync version <3.0, or 30 for newer releases (is auto-detected,
# but if you move from one rsync server to another it might become handy to known about this var)
RSYNC_PROTOCOL_VERSION=
# The BACKUP_URL contains the source or destination path of the remote rsync server (ssh, rsync protocol)
# Note: please exchange the SSH keys to avoid password prompts
# BACKUP_URL is mandatory with RSYNC
# RSYNC_URL= is now obsolete, use BACKUP_URL instead
# BACKUP_URL=[USER@]HOST:PATH # using ssh (no rsh)
# with rsync protocol PATH is a MODULE name
# BACKUP_URL=[USER@]HOST::MODULE # using rsync
# BACKUP_URL=rsync://[USER@]HOST[:PORT]/MODULE # using rsync
#
# The default rsync options passed (more can/will be added according workflow)
# You can use this variable to add your own options, e.g.
# BACKUP_RSYNC_OPTIONS=( "${BACKUP_RSYNC_OPTIONS[@]}" --devices --acls )
BACKUP_RSYNC_OPTIONS=(--sparse --archive --hard-links --verbose --numeric-ids --stats)
############
# Tape block size, default is to leave it up to the tape-device
TAPE_BLOCKSIZE=
# disable ping
# some environments don't allow to ping the backup host, even though the backup
# software is reachable
# e.g. in a DMZ. since most backup methods check the host availability, you can disable ping by
# unsetting the PING variable [BOOL]
PING=
##
# BACKUP=REQUESTRESTORE stuff
##
# This mode stops the restore after formatting and mounting the filesystems and expects
# the backup data to appear by miracle (e.g. you doing something).
# I use this mode with DMZ servers that are saved with RBME (RSYNC BACKUP MADE EASY) and
# the magical restore is just me pushing the files back via rsync/ssh. That is the reason why
# Relax-and-Recover includes an SSH server for your convenience.
#
# The text to display in order to prompt the user to restore the data
REQUESTRESTORE_TEXT="Please start the restore process on your backup host.
Make sure that you restore the data into '/mnt/local' instead of '/' because the
hard disks of the recovered system are mounted there.
"
# The example command added to the history to make it easier for the user.
REQUESTRESTORE_COMMAND=
##
# BACKUP=RBME
##
# This mode allows restoring a RBME backup from NFS shares.
# As NFSv4 is not fully supported with rear (yet) it is safer to
# use BACKUP_OPTIONS="nfsvers=3,nolock" in the local.conf file.
# Also, do not forget to open the TCP/UDP ports on the NFS server (iptables)!
# Configure the RBME backup ahead of time.
# RBME will present you a list of all backups that are available.
# A magic value of 'latest' will automatically use the latest backup
RBME_BACKUP=
# If the RBME hostname is different from the system hostname, configure it here
# Example: RBME_HOSTNAME="$HOSTNAME-bcp"
RBME_HOSTNAME=$HOSTNAME
##
# BACKUP=EXTERNAL
##
# Custom command backup stuff
# examples for external backup. In this mode your external program must do EVERYTHING
# In the example below we backup / to the vms host via tar and netcat
# NOTE: The EXTERNAL_* commands can be also defined as an array () to better protect
# arguments with blanks
# NOTE: The EXTERNAL_* commands will be run inside eval like this:
# eval "${EXTERNAL_BACKUP[@]}"
#
# Command to backup the required data
# This example saves the data via SSH to a remote system called vms
EXTERNAL_BACKUP="tar -c -l -z / | ssh vms 'cat >rear64/backup.tar.gz'"
# Command to restore the data
EXTERNAL_RESTORE="ssh vms cat rear64/backup.tar.gz | tar -C /mnt/local -x -z"
# The following exit codes from EXTERNAL_* should not abort the backup or recovery
# This example is useful for rsync
EXTERNAL_IGNORE_ERRORS=( 23 24 )
# Command to verify the availability of the backup resource, will be executed only if PING=1
# NOTE: This command will be run within the ProgressBar system !! You should therefore avoid
# output on STDOUT by rerouting that to FD 8, the progress bar
EXTERNAL_CHECK="ssh vms date >&8"
##
# How to exclude something ----- EXCLUDES -------
#
# You cannot exclude a device (e.g. /dev/sdg) directly. Instead you have to exclude everything
# ON that device and then the dependancy tracker will automatically exclude the device from the
# recovery (because there won't be any recovery information for that "unnecessary" device).
#
# Furthermore, you have to exclude MD devices and LVM2 volume groups separately as there is no
# automatic detection of these dependancies (yet, please write and submit it !)
# 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
# examples: /tmp
# /media/bigdisk
EXCLUDE_MOUNTPOINTS=()
# Exclude MD devices
# examples: /dev/md0
# /dev/md/0
EXCLUDE_MD=()
# 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.
#
# NOTE: YOU MUST ALSO EXCLUDE THE CORRESPONDING MOUNTPOINTS IN EXCLUDE_MOUNTPOINTS (see above)
# OTHERWISE THE RECOVERY ***WILL*** TRY TO RECREATE THE FILESYSTEMS ONTO NON-EXISTING LVs
#
# Y O U H A V E B E E N W A R N E D ! ! !
EXCLUDE_VG=()
# Exclude any component from the recovery image.
# Some component types need a prefix:
# - filesystems: "fs:/var/cache"
# - physical volumes: "pv:/dev/sda2"
# - swap: "swap:/dev/mapper/system-swap"
# Volume groups look like: "/dev/system".
# If in doubt about the correct syntax, consult /var/lib/rear/layout/disktodo.conf
EXCLUDE_COMPONENTS=()
####
# 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=()
# Automatically exclude disks that are not used by mounted filesystems
# Explicitly excluding/including devices is generally a safer option.
# (layout code)
AUTOEXCLUDE_DISKS=y
# Automatically exclude multipath disks and their dependent components
AUTOEXCLUDE_MULTIPATH=y
# Automatically exclude automounter paths from the backup
AUTOEXCLUDE_AUTOFS=
# Automatically exclude filesystems mounted under directories given here
# The default is /media to exclude USB devices mounted there.
# This is different from EXCLUDE_MOUNTPOINTS, which accepts only mountpoints.
AUTOEXCLUDE_PATH=( /media )
#### New Style include/excludes
# Exclude components from being backed up, recreation information is active
EXCLUDE_BACKUP=()
# Exclude components during component recreation
# will be added to EXCLUDE_BACKUP (it is not backed up)
# recreation information gathered, but commented out
EXCLUDE_RECREATE=()
# Exclude components during the backup restore phase
# Only used to exclude files from the restore.
EXCLUDE_RESTORE=()
# Exclude several device names from being viable mapping options during a restore
EXCLUDE_DEVICE_MAPPING=( "loop*" "ram*" )
################ ---- various warnings
#
# Warnings can be also disabled by unsetting these variables
WARN_MISSING_VOL_ID=1
################ ---- disable feature
#
# Automatically enable cfg2html, if it is installed on the system
# To disable set to 'n', 'No' or '0'
USE_CFG2HTML=y
# Simplyfy bonding setups by configuring always the first device of a bond
SIMPLIFY_BONDING=
# Serial Console support is enabled if serial devices are found on the system.
# IA64 platforms do require it, and sometimes people still use serial console
# e.g. when no VGA console is available. (say y, n or leave empty to autodetect)
USE_SERIAL_CONSOLE=
# Say "y", "Yes" (or any not empty string) to enable DHCP client protocol
USE_DHCLIENT=
# Say "n", "No" or "0" (or anything not '^[yY1]') to disable adding Relax-and-Recover
# to local GRUB
# The image will have the tools needed to reconfigure/rescue your system.
GRUB_RESCUE=y
# It is protected by a password, default "REAR" (uppercase), to prevent accidental recovery
GRUB_RESCUE_PASSWORD="REAR"
##
# advanced handling of Relax-and-Recover result (boot image)
##
# Relax-and-Recover can do something with the resulting files, here we say what
#
# create a list of result files that make up the DR boot environment
# initially this list is empty, but a user could add his own files here
RESULT_FILES=()
# we can send a mail with the resulting files. We even support multiple recipients,
# each array variable is one recipient. When you set this variable to a value without
# using an array, it will still work.
RESULT_MAILTO=()
# set the sender, your local sendmail will expand this to a FQDN if you don't
# supply a full name here.
RESULT_MAILFROM=root
# set the subject to empty here, later script will fill in our default
RESULT_MAILSUBJECT=
# path to your sendmail
RESULT_SENDMAIL="$( type -p sendmail || echo /usr/lib/sendmail )"
# extra sendmail options. On my system -t makes sendmail read the recipients
# from the mail headers
# Use array to properly handle args with spaces ("some arg")
RESULT_SENDMAIL_OPTIONS=( -oi -t )
################ ---- ia64 specific stuff
#
# full path to elilo.efi file. Leave empty to use automatic search for it
ELILO_BIN=
################ ---- 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 Rela-and-Recover did everything in the recover workflow. /mnt/local refers 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=
# some external backup software give you the opportunity to enter paths to exclude ...
# we tend to use a timer in seconds we wait before continuing (we do not want to break the automated restores)
WAIT_SECS=30
# to force adding multipath related executables so a recovered system would be able to boot via SAN disks only
# instead of the internal ones (no success guaranteed although). E.g. in case the destination has no internal disks.
# making the variable (y,Y,1) to enable
BOOT_OVER_SAN=
# the TMPDIR influences the mktemp command to define an alternative basedir instead of /tmp
# useful in case he /tmp is not large enough to contain ISO images and/or backup archives
# be careful the directory MUST exist otherwise you will get an error by mktemp
TMPDIR=""
export TMPDIR # the export is required so that mktemp can pickup the variable
backup7:/etc/rear #
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment