# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-2007 Craig Barratt
+# Copyright (C) 2001-2009 Craig Barratt
#
# See http://backuppc.sourceforge.net.
#
# Users report that for smbclient you should specify a directory
# followed by "/*", eg: "/proc/*", instead of just "/proc".
#
+# FTP servers are traversed recursively so excluding directories will
+# also exclude its contents. You can use the wildcard characters "*"
+# and "?" to define files for inclusion and exclusion. Both
+# attributes $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} can
+# be defined for the same share.
+#
# If a hash is used, a special key "*" means it applies to all
# shares that don't have a specific entry.
#
# Arguments to rsync for backup. Do not edit the first set unless you
# have a thorough understanding of how File::RsyncP works.
#
-# Examples of additional arguments that should work are --exclude/--include,
-# eg:
-#
-# $Conf{RsyncArgs} = [
-# # original arguments here
-# '-v',
-# '--exclude', '/proc',
-# '--exclude', '*.tmp',
-# ];
-#
$Conf{RsyncArgs} = [
#
# Do not edit these!
# to enable checksum caching.
#
#'--checksum-seed=32761',
-
- #
- # Add additional arguments here
- #
];
+#
+# 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.
# 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!
# (can be overwritten in the per-PC log file)
##########################################################################
#
-# Name of the host share that is backed up when using FTP. This can be a
+# 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.
-# Examples:
#
-# $Conf{FtpShareName} = 'c'; # backup 'c' share
-# $Conf{FtpShareName} = ['c', 'd']; # backup 'c' and 'd' shares
+# 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{FtpFollowSymlinks} = 0;
+#
+# Direct restore enabling for FTP.
+#
+# Currently set to 0 since restore functionality is incomplete.
+#
+$Conf{FtpRestoreEnabled} = 0;
+
###########################################################################
# Archive Configuration
# (can be overwritten in the per-PC log file)
# used by configure.pl when you upgrade BackupPC.
#
# Example:
-# $Conf{CgiImageDir} = '/usr/local/apache/htdocs/BackupPC';
+# $Conf{CgiImageDir} = '/var/www/htdocs/BackupPC';
#
$Conf{CgiImageDir} = '';
RsyncdAuthRequired => 1,
RsyncCsumCacheVerifyProb => 1,
RsyncArgs => 1,
+ RsyncArgsExtra => 1,
RsyncRestoreArgs => 1,
RsyncClientCmd => 0,
RsyncClientRestoreCmd => 0,
FtpBlockSize => 1,
FtpPort => 1,
FtpTimeout => 1,
+ FtpFollowSymlinks => 1,
+ FtpRestoreEnabled => 1,
ArchiveDest => 1,
ArchiveComp => 1,
ArchivePar => 1,