+$Conf{TarClientPath} = '';
+
+###########################################################################
+# Rsync/Rsyncd Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Path to rsync executable on the client
+#
+$Conf{RsyncClientPath} = '';
+
+#
+# Full command to run rsync on the client machine. The following variables
+# are substituted at run-time:
+#
+# $host host name being backed up
+# $hostIP host's IP address
+# $shareName share name to backup (ie: top-level directory path)
+# $rsyncPath same as $Conf{RsyncClientPath}
+# $sshPath same as $Conf{SshPath}
+# $argList argument list, built from $Conf{RsyncArgs},
+# $shareName, $Conf{BackupFilesExclude} and
+# $Conf{BackupFilesOnly}
+#
+# This setting only matters if $Conf{XferMethod} = 'rsync'.
+#
+$Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
+
+#
+# Full command to run rsync for restore on the client. The following
+# variables are substituted at run-time:
+#
+# $host host name being backed up
+# $hostIP host's IP address
+# $shareName share name to backup (ie: top-level directory path)
+# $rsyncPath same as $Conf{RsyncClientPath}
+# $sshPath same as $Conf{SshPath}
+# $argList argument list, built from $Conf{RsyncArgs},
+# $shareName, $Conf{BackupFilesExclude} and
+# $Conf{BackupFilesOnly}
+#
+# This setting only matters if $Conf{XferMethod} = 'rsync'.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
+
+#
+# Share name to backup. For $Conf{XferMethod} = "rsync" this should
+# be a file system path, eg '/' or '/home'.
+#
+# For $Conf{XferMethod} = "rsyncd" this should be the name of the module
+# to backup (ie: the name from /etc/rsynd.conf).
+#
+# This can also be a list of multiple file system paths or modules.
+# For example, by adding --one-file-system to $Conf{RsyncArgs} you
+# can backup each file system separately, which makes restoring one
+# bad file system easier. In this case you would list all of the mount
+# points:
+#
+# $Conf{RsyncShareName} = ['/', '/var', '/data', '/boot'];
+#
+$Conf{RsyncShareName} = '/';
+
+#
+# Rsync daemon port on the client, for $Conf{XferMethod} = "rsyncd".
+#
+$Conf{RsyncdClientPort} = 873;
+
+#
+# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
+# The user name and password are stored on the client in whatever file
+# the "secrets file" parameter in rsyncd.conf points to
+# (eg: /etc/rsyncd.secrets).
+#
+$Conf{RsyncdUserName} = '';
+
+#
+# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
+# The user name and password are stored on the client in whatever file
+# the "secrets file" parameter in rsyncd.conf points to
+# (eg: /etc/rsyncd.secrets).
+#
+$Conf{RsyncdPasswd} = '';
+
+#
+# Whether authentication is mandatory when connecting to the client's
+# rsyncd. By default this is on, ensuring that BackupPC will refuse to
+# connect to an rsyncd on the client that is not password protected.
+# Turn off at your own risk.
+#
+$Conf{RsyncdAuthRequired} = 1;
+
+#
+# When rsync checksum caching is enabled (by adding the
+# --checksum-seed=32761 option to $Conf{RsyncArgs}), the cached
+# checksums can be occasionally verified to make sure the file
+# contents matches the cached checksums. This is to avoid the
+# risk that disk problems might cause the pool file contents to
+# get corrupted, but the cached checksums would make BackupPC
+# think that the file still matches the client.
+#
+# This setting is the probability (0 means never and 1 means always)
+# that a file will be rechecked. Setting it to 0 means the checksums
+# will not be rechecked (unless there is a phase 0 failure). Setting
+# it to 1 (ie: 100%) means all files will be checked, but that is
+# not a desirable setting since you are better off simply turning
+# caching off (ie: remove the --checksum-seed option).
+#
+# The default of 0.01 means 1% (on average) of the files during a full
+# backup will have their cached checksum re-checked.
+#
+# This setting has no effect unless checksum caching is turned on.
+#
+$Conf{RsyncCsumCacheVerifyProb} = 0.01;
+
+#
+# Arguments to rsync for backup. Do not edit the first set unless you
+# have a thorough understanding of how File::RsyncP works.
+#
+$Conf{RsyncArgs} = [
+ #
+ # Do not edit these!
+ #
+ '--numeric-ids',
+ '--perms',
+ '--owner',
+ '--group',
+ '-D',
+ '--links',
+ '--hard-links',
+ '--times',
+ '--block-size=2048',
+ '--recursive',
+
+ #
+ # Rsync >= 2.6.3 supports the --checksum-seed option
+ # which allows rsync checksum caching on the server.
+ # Uncomment this to enable rsync checksum caching if
+ # you have a recent client rsync version and you want
+ # to enable checksum caching.
+ #
+ #'--checksum-seed=32761',
+];
+
+#
+# Additional arguments added to RsyncArgs. This can be used in
+# conbination with $Conf{RsyncArgs} to allow customization of
+# the rsync arguments on a part-client basis. The standard
+# arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra}
+# can be set on a per-client basis.
+#
+# Examples of additional arguments that should work are --exclude/--include,
+# eg:
+#
+# $Conf{RsyncArgsExtra} = [
+# '--exclude', '/proc',
+# '--exclude', '*.tmp',
+# ];
+#
+# Both $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} are subject
+# to the following variable substitutions:
+#
+# $client client name being backed up
+# $host host name (could be different from client name if
+# $Conf{ClientNameAlias} is set)
+# $hostIP IP address of host
+# $confDir configuration directory path
+#
+# This allows settings of the form:
+#
+# $Conf{RsyncArgsExtra} = [
+# '--exclude-from=$confDir/pc/$host.exclude',
+# ];
+#
+$Conf{RsyncArgsExtra} = [];
+
+#
+# Arguments to rsync for restore. Do not edit the first set unless you
+# have a thorough understanding of how File::RsyncP works.
+#
+# If you want to disable direct restores using rsync (eg: is the module
+# is read-only), you should set $Conf{RsyncRestoreArgs} to undef and
+# the corresponding CGI restore option will be removed.
+#
+# $Conf{RsyncRestoreArgs} is subject to the following variable
+# substitutions:
+#
+# $client client name being backed up
+# $host host name (could be different from client name if
+# $Conf{ClientNameAlias} is set)
+# $hostIP IP address of host
+# $confDir configuration directory path
+#
+# Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}.
+#
+$Conf{RsyncRestoreArgs} = [
+ #
+ # Do not edit these!
+ #
+ '--numeric-ids',
+ '--perms',
+ '--owner',
+ '--group',
+ '-D',
+ '--links',
+ '--hard-links',
+ '--times',
+ '--block-size=2048',
+ '--relative',
+ '--ignore-times',
+ '--recursive',
+
+ #
+ # Rsync >= 2.6.3 supports the --checksum-seed option
+ # which allows rsync checksum caching on the server.
+ # Uncomment this to enable rsync checksum caching if
+ # you have a recent client rsync version and you want
+ # to enable checksum caching.
+ #
+ #'--checksum-seed=32761',
+
+ #
+ # Add additional arguments here
+ #
+];
+
+###########################################################################
+# FTP Configuration
+# (can be overwritten in the per-PC log file)
+##########################################################################
+#
+# Which host directories to backup when using FTP. This can be a
+# string or an array of strings if there are multiple shares per host.
+#
+# This value must be specified in one of two ways: either as a
+# subdirectory of the 'share root' on the server, or as the absolute
+# path of the directory.
+#
+# In the following example, if the directory /home/username is the
+# root share of the ftp server with the given username, the following
+# two values will back up the same directory:
+#
+# $Conf{FtpShareName} = 'www'; # www directory
+# $Conf{FtpShareName} = '/home/username/www'; # same directory
+#
+# Path resolution is not supported; i.e.; you may not have an ftp
+# share path defined as '../otheruser' or '~/games'.
+#
+# Multiple shares may also be specified, as with other protocols:
+#
+# $Conf{FtpShareName} = [ 'www',
+# 'bin',
+# 'config' ];
+#
+# Note also that you can also use $Conf{BackupFilesOnly} to specify
+# a specific list of directories to backup. It's more efficient to
+# use this option instead of $Conf{FtpShareName} since a new tar is
+# run for each entry in $Conf{FtpShareName}.
+#
+# This setting only matters if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpShareName} = '';
+
+#
+# FTP user name. This is used to log into the server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpUserName} = '';
+
+#
+# FTP user password. This is used to log into the server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPasswd} = '';
+
+#
+# Whether passive mode is used. The correct setting depends upon
+# whether local or remote ports are accessible from the other machine,
+# which is affected by any firewall or routers between the FTP server
+# on the client and the BackupPC server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPassive} = 1;
+
+#
+# Transfer block size. This sets the size of the amounts of data in
+# each frame. While undefined, this value takes the default value.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpBlockSize} = 10240;
+
+#
+# The port of the ftp server. If undefined, 21 is used.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPort} = 21;
+
+#
+# Connection timeout for FTP. When undefined, the default is 120 seconds.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpTimeout} = 120;
+
+#
+# Behaviour when BackupPC encounters symlinks on the FTP share.
+#
+# Symlinks cannot be restored via FTP, so the desired behaviour will
+# be different depending on the setup of the share. The default for
+# this behavor is 1. Directory shares with more complicated directory
+# structures should consider other protocols.
+#
+$Conf{FtpFollowSymlinks} = 0;
+
+###########################################################################
+# Archive Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Archive Destination
+#
+# The Destination of the archive
+# e.g. /tmp for file archive or /dev/nst0 for device archive
+#
+$Conf{ArchiveDest} = '/tmp';
+
+#
+# Archive Compression type
+#
+# The valid values are:
+#
+# - 'none': No Compression
+#
+# - 'gzip': Medium Compression. Recommended.
+#
+# - 'bzip2': High Compression but takes longer.
+#
+$Conf{ArchiveComp} = 'gzip';
+
+#
+# Archive Parity Files
+#
+# The amount of Parity data to generate, as a percentage
+# of the archive size.
+# Uses the commandline par2 (par2cmdline) available from
+# http://parchive.sourceforge.net
+#
+# Only useful for file dumps.
+#
+# Set to 0 to disable this feature.
+#
+$Conf{ArchivePar} = 0;
+
+#
+# Archive Size Split
+#
+# Only for file archives. Splits the output into
+# the specified size * 1,000,000.
+# e.g. to split into 650,000,000 bytes, specify 650 below.
+#
+# If the value is 0, or if $Conf{ArchiveDest} is an existing file or
+# device (e.g. a streaming tape drive), this feature is disabled.
+#
+$Conf{ArchiveSplit} = 0;
+
+#
+# Archive Command
+#
+# This is the command that is called to actually run the archive process
+# for each host. The following variables are substituted at run-time:
+#
+# $Installdir The installation directory of BackupPC
+# $tarCreatePath The path to BackupPC_tarCreate
+# $splitpath The path to the split program
+# $parpath The path to the par2 program
+# $host The host to archive
+# $backupnumber The backup number of the host to archive
+# $compression The path to the compression program
+# $compext The extension assigned to the compression type
+# $splitsize The number of bytes to split archives into
+# $archiveloc The location to put the archive
+# $parfile The amount of parity data to create (percentage)
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost'
+ . ' $tarCreatePath $splitpath $parpath $host $backupnumber'
+ . ' $compression $compext $splitsize $archiveloc $parfile *';