X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=conf%2Fconfig.pl;h=440f597a62aa3f94a84a7bf9077ad7ae0ecb185e;hp=a807a797bf471f3457e31b11861847eeef3dbcb1;hb=9cf3998c4ef71332dea96ff3115daf8b9f722acb;hpb=fda25dc88a63ccac1c80efa2e4994bf0725ca9b7 diff --git a/conf/config.pl b/conf/config.pl index a807a79..440f597 100644 --- a/conf/config.pl +++ b/conf/config.pl @@ -29,7 +29,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001-2007 Craig Barratt +# Copyright (C) 2001-2009 Craig Barratt # # See http://backuppc.sourceforge.net. # @@ -136,7 +136,13 @@ $Conf{MaxUserBackups} = 4; # This limit is to make sure BackupPC doesn't fall too far behind in # running BackupPC_link commands. # -$Conf{MaxPendingCmds} = 10; +$Conf{MaxPendingCmds} = 15; + +# +# Nice level at which CmdQueue commands (eg: BackupPC_link and +# BackupPC_nightly) are run at. +# +$Conf{CmdQueueNice} = 10; # # How many BackupPC_nightly processes to run in parallel. @@ -288,6 +294,14 @@ $Conf{BackupPCUser} = ''; # with configure.pl to change InstallDir. # CgiDir - Apache CGI directory for BackupPC_Admin # +# Note: it is STRONGLY recommended that you don't change the +# values here. These are set at installation time and are here +# for reference and are used during upgrades. +# +# Instead of changing TopDir here it is recommended that you use +# a symbolic link to the new location, or mount the new BackupPC +# store at the existing $Conf{TopDir} setting. +# $Conf{TopDir} = ''; $Conf{ConfDir} = ''; $Conf{LogDir} = ''; @@ -703,6 +717,12 @@ $Conf{BackupFilesOnly} = undef; # 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. # @@ -888,6 +908,10 @@ $Conf{ClientCharset} = ''; # $Conf{ClientCharsetLegacy} = 'iso-8859-1'; +########################################################################### +# Samba Configuration +# (can be overwritten in the per-PC log file) +########################################################################### # # Name of the host share that is backed up when using SMB. This can be a # string or an array of strings if there are multiple shares per host. @@ -987,6 +1011,10 @@ $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName' . ' $I_option -U $userName -E -N -d 1' . ' -c tarmode\\ full -Tx -'; +########################################################################### +# Tar Configuration +# (can be overwritten in the per-PC log file) +########################################################################### # # Which host directories to backup when using tar transport. This can be a # string or an array of strings if there are multiple directories to @@ -1130,6 +1158,10 @@ $Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host' # $Conf{TarClientPath} = ''; +########################################################################### +# Rsync/Rsyncd Configuration +# (can be overwritten in the per-PC log file) +########################################################################### # # Path to rsync executable on the client # @@ -1246,16 +1278,6 @@ $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. # -# 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! @@ -1279,12 +1301,40 @@ $Conf{RsyncArgs} = [ # 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. @@ -1293,6 +1343,17 @@ $Conf{RsyncArgs} = [ # 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! @@ -1324,67 +1385,100 @@ $Conf{RsyncRestoreArgs} = [ # ]; +########################################################################### +# FTP Configuration +# (can be overwritten in the per-PC log file) +########################################################################## # -# Share name to backup. For $Conf{XferMethod} = "backuppcd" this should -# be a file system path, eg '/' or '/home'. +# 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 can also be a list of multiple file system paths or modules. -# (Can it??) +# 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{BackupPCdShareName} = ['/', '/var', '/data', '/boot']; +# $Conf{FtpShareName} = 'www'; # www directory +# $Conf{FtpShareName} = '/home/username/www'; # same directory # -$Conf{BackupPCdShareName} = '/'; +# 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} = ''; # -# Path to backuppcd executable on the server +# FTP user name. This is used to log into the server. +# +# This setting is used only if $Conf{XferMethod} = 'ftp'. # -$Conf{BackupPCdPath} = ''; +$Conf{FtpUserName} = ''; # -# Full command to run backuppcd on the server to backup a given -# client machine. The following variables are substituted at -# run-time (TODO: update this list) +# FTP user password. This is used to log into the server. # -# $host host name being backed up -# $hostIP host's IP address -# $shareName share name to backup (ie: top-level directory path) -# $backuppcdPath same as $Conf{BackupPCdPath} -# $sshPath same as $Conf{SshPath} +# This setting is used only if $Conf{XferMethod} = 'ftp'. # -# This setting only matters if $Conf{XferMethod} = 'backuppcd'. +$Conf{FtpPasswd} = ''; + # -# Arguments to backupcpd are: +# Transfer block size. This sets the size of the amounts of data in +# each frame. While undefined, this value takes the default value. # -# - the host name to backup -# - the share name to backup -# - the directory where the pool is -# - the directory where the last run was (NOT DONE YET) -# - a boolean value indicating whether or not the pool is -# compressed or not -# - the directory where the new run should occur (currently it assumes ".") +# This setting is used only if $Conf{XferMethod} = 'ftp'. # -$Conf{BackupPCdCmd} = '$bpcdPath $host $shareName $poolDir XXXX $poolCompress $topDir/pc/$client/new'; +$Conf{FtpBlockSize} = 10240; # -# Full command to run backuppcd on the server for restore to a -# client machine. The following variables are substituted at -# run-time (TODO: update this list) +# The port of the ftp server. If undefined, 21 is used. # -# $host host name being backed up -# $hostIP host's IP address -# $shareName share name to backup (ie: top-level directory path) -# $backuppcdPath same as $Conf{BackupPCdPath} -# $sshPath same as $Conf{SshPath} +# This setting is used only if $Conf{XferMethod} = 'ftp'. # -# This setting only matters if $Conf{XferMethod} = 'backuppcd'. +$Conf{FtpPort} = 21; + # -# 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. +# Connection timeout for FTP. When undefined, the default is 120 seconds. # -$Conf{BackupPCdRestoreCmd} = '$bpcdPath TODO'; +# 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; +# +# 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) +########################################################################### # # Archive Destination # @@ -1880,13 +1974,12 @@ $Conf{EMailOutlookBackupSubj} = undef; $Conf{EMailOutlookBackupMesg} = undef; # -# Additional email headers. If you change the charset -# to utf8 then BackupPC_sendEmail will use utf8 for -# the email body. +# Additional email headers. This sets to charset to +# utf8. # $Conf{EMailHeaders} = < 1, RsyncCsumCacheVerifyProb => 1, RsyncArgs => 1, + RsyncArgsExtra => 1, RsyncRestoreArgs => 1, RsyncClientCmd => 0, RsyncClientRestoreCmd => 0, RsyncClientPath => 0, + FtpShareName => 1, + FtpUserName => 1, + FtpPasswd => 1, + FtpBlockSize => 1, + FtpPort => 1, + FtpTimeout => 1, + FtpFollowSymlinks => 1, + FtpRestoreEnabled => 1, ArchiveDest => 1, ArchiveComp => 1, ArchivePar => 1,