X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=conf%2Fconfig.pl;h=54e0f5b0c0ddd09f7e4696f494f955bac9521348;hp=596dd10ee8522a53d1652d52cf2f64598888ec58;hb=f6257f558390295c581f4e5af8f084341db05d34;hpb=dcf156b7d70fbe2f114c1fed738f613d0b1a2775 diff --git a/conf/config.pl b/conf/config.pl index 596dd10..54e0f5b 100644 --- a/conf/config.pl +++ b/conf/config.pl @@ -180,6 +180,8 @@ $Conf{TrashCleanSleepSec} = 300; # # List of DHCP address ranges we search looking for PCs to backup. # This is an array of hashes for each class C address range. +# This is only needed if hosts in the conf/hosts file have the +# dhcp flag set. # # Examples: # # to specify 192.10.10.20 to 192.10.10.250 as the DHCP address pool @@ -226,6 +228,17 @@ $Conf{InstallDir} = ''; # $Conf{BackupPCUserVerify} = 1; +# +# Maximum number of hardlinks supported by the $TopDir file system +# that BackupPC uses. Most linux or unix file systems should support +# at least 32000 hardlinks per file, or 64K in other cases. If a pool +# file already has this number of hardlinks, a new pool file is created +# so that new hardlinks can be accommodated. This limit will only +# be hit if an identical file appears at least this number of times +# across all the backups. +# +$Conf{HardLinkMax} = 31999; + ########################################################################### # What to backup and when to do it # (can be overridden in the per-PC config.pl) @@ -280,6 +293,14 @@ $Conf{SmbSharePasswd} = ''; # use this option instead of $Conf{TarShareName} since a new tar is # run for each entry in $Conf{TarShareName}. # +# On the other hand, if you add --one-file-system to $Conf{TarClientCmd} +# 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 here, since you can't get the same result with +# $Conf{BackupFilesOnly}: +# +# $Conf{TarShareName} = ['/', '/var', '/data', '/boot']; +# # This setting only matters if $Conf{XferMethod} = 'tar'. # $Conf{TarShareName} = '/'; @@ -408,7 +429,7 @@ $Conf{RestoreInfoKeepCnt} = 10; # $Conf{BackupFilesOnly} = { # 'c' => ['/myFiles', '/important'], # these are for 'c' share # 'd' => ['/moreFiles', '/archive'], # these are for 'd' share -# } +# }; # $Conf{BackupFilesOnly} = undef; @@ -433,9 +454,13 @@ $Conf{BackupFilesOnly} = undef; # For tar, if the exclude file contains a "/" it is assumed to be anchored # at the start of the string. Since all the tar paths start with "./", # BackupPC prepends a "." if the exclude file starts with a "/". Note -# that GNU tar version >= 1.3.7 is required for the exclude option to -# work correctly. For linux or unix machines it is recommended to add -# "/proc" to $Conf{BackupFilesExclude}. +# that GNU tar version >= 1.13.7 is required for the exclude option to +# work correctly. For linux or unix machines you should add +# "/proc" to $Conf{BackupFilesExclude} unless you have specified +# --one-file-system in $Conf{TarClientCmd} or --one-file-system in +# $Conf{RsyncArgs}. Also, for tar, do not use a trailing "/" in +# the directory name: a trailing "/" causes the name to not match +# and the directory will not be excluded. # # Examples: # $Conf{BackupFilesExclude} = '/temp'; @@ -531,17 +556,32 @@ $Conf{XferMethod} = 'smb'; $Conf{SmbClientPath} = '/usr/bin/smbclient'; # -# Additional optional arguments to smbclient. -# -# Some users have reported that the -b option can be used to improve -# performance of smbclient. The default value is 4096, and if you -# find smbclient has low throughput you might try a value of 2048, eg: +# Commands to run smbclient for a full dump, incremental dump or a restore. +# This setting only matters if $Conf{XferMethod} = 'smb'. # -# $Conf{SmbClientArgs} = '-b 2048'; +# Several variables are substituted at run-time: # -# This setting only matters if $Conf{XferMethod} = 'smb'. +# $smbClientPath same as $Conf{SmbClientPath} +# $host host to backup/restore +# $hostIP host IP address +# $shareName share name +# $userName user name +# $fileList list of files to backup (based on exclude/include) +# $I_option optional -I option to smbclient +# $X_option exclude option (if $fileList is an exclude list) +# $timeStampFile start time for incremental dump # -$Conf{SmbClientArgs} = ''; +$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName' + . ' $I_option -U $userName -E -N -d 1' + . ' -c tarmode\\ full -Tc$X_option - $fileList'; + +$Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName' + . ' $I_option -U $userName -E -N -d 1' + . ' -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList'; + +$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName' + . ' $I_option -U $userName -E -N -d 1' + . ' -c tarmode\\ full -Tx -'; # # Full command to run tar on the client. GNU tar is required. You will @@ -587,6 +627,9 @@ $Conf{TarClientCmd} = '$sshPath -q -n -l root $host' # Extra tar arguments for full backups. Several variables are substituted at # run-time. See $Conf{TarClientCmd} for the list of variable substitutions. # +# If you are running tar locally (ie: without rsh or ssh) then remove the +# "+" so that the argument is no longer shell escaped. +# # This setting only matters if $Conf{XferMethod} = 'tar'. # $Conf{TarFullArgs} = '$fileList+'; @@ -613,6 +656,9 @@ $Conf{TarFullArgs} = '$fileList+'; # attribute change, meaning the file will always be included # in each new incremental dump. # +# If you are running tar locally (ie: without rsh or ssh) then remove the +# "+" so that the argument is no longer shell escaped. +# # This setting only matters if $Conf{XferMethod} = 'tar'. # $Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+'; @@ -679,9 +725,18 @@ $Conf{RsyncClientRestoreCmd} = '$sshPath -l root $host $rsyncPath $argList'; # # Share name to backup. For $Conf{XferMethod} = "rsync" this should -# be a directory name, eg '/' or '/home'. For $Conf{XferMethod} = "rsyncd" -# this should be the name of the module to backup (ie: the name from -# /etc/rsynd.conf). +# 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} = '/'; @@ -796,13 +851,33 @@ $Conf{SshPath} = '/usr/bin/ssh'; $Conf{NmbLookupPath} = '/usr/bin/nmblookup'; # -# NmbLookup command. Several variables are substituted at run-time: +# NmbLookup command. Given an IP address, does an nmblookup on that +# IP address. Several variables are substituted at run-time: # # $nmbLookupPath path to nmblookup ($Conf{NmbLookupPath}) -# $host host name +# $host IP address +# +# This command is only used for DHCP hosts: given an IP address, this +# command should try to find its NetBios name. # $Conf{NmbLookupCmd} = '$nmbLookupPath -A $host'; +# +# NmbLookup command. Given a netbios name, finds that host by doing +# a NetBios multicast. Several variables are substituted at run-time: +# +# $nmbLookupPath path to nmblookup ($Conf{NmbLookupPath}) +# $host NetBios name +# +# In some cases you might need to change the broadcast address, for +# example if nmblookup uses 192.168.255.255 by default and you find +# that doesn't work, try 192.168.1.255 (or your equivalent class C +# address) using the -B option: +# +# $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -B 192.168.1.255 $host'; +# +$Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host'; + # # For fixed IP address hosts, BackupPC_dump can also verify the netbios # name to ensure it matches the host name. An error is generated if @@ -830,6 +905,10 @@ $Conf{PingPath} = '/bin/ping'; # $pingPath path to ping ($Conf{PingPath}) # $host host name # +# Wade Brown reports that on solaris 2.6 and 2.7 ping -s returns the wrong +# exit status (0 even on failure). Replace with "ping $host 1", which +# gets the correct exit status but we don't get the round-trip time. +# $Conf{PingCmd} = '$pingPath -c 1 $host'; # @@ -920,6 +999,25 @@ $Conf{DumpPostUserCmd} = undef; $Conf{RestorePreUserCmd} = undef; $Conf{RestorePostUserCmd} = undef; +# +# Override the client's host name. This allows multiple clients +# to all refer to the same physical host. This should only be +# set in the per-PC config file and is only used by BackupPC at +# the last moment prior to generating the command used to backup +# that machine (ie: the value of $Conf{ClientNameAlias} is invisible +# everywhere else in BackupPC). The setting can be a host name or +# IP address, eg: +# +# $Conf{ClientNameAlias} = 'realHostName'; +# $Conf{ClientNameAlias} = '192.1.1.15'; +# +# will cause the relevant smb/tar/rsync backup/restore commands to be +# directed to realHostName, not the client name. +# +# Note: this setting doesn't work for hosts with DHCP set to 1. +# +$Conf{ClientNameAlias} = undef; + # # Advanced option for asking BackupPC to load additional perl modules. # Can be a list (array ref) of module names to load at startup. @@ -1089,9 +1187,11 @@ $Conf{CgiURL} = undef; # # Language to use. See lib/BackupPC/Lang for the list of supported -# languages, which includes English (en) and French (fr). Currently -# this applies mainly to the CGI interface, but over time it might -# also include log files and other text output. +# languages, which include English (en), French (fr), Spanish (es), +# and German (de). +# +# Currently the Language setting applies to the CGI interface and email +# messages sent to users. Log files and other text is still in English. # $Conf{Language} = 'en'; @@ -1149,6 +1249,17 @@ $Conf{CgiNavBarBgColor} = '#ddeeee'; $Conf{CgiHeaderBgColor} = '#99cc33'; $Conf{CgiBodyBgColor} = '#ffffff'; +# +# Hilight colors based on status that are used in the PC summary page. +# +$Conf{CgiStatusHilightColor} = { + Reason_backup_failed => '#ffcccc', + Reason_backup_done => '#ccffcc', + Reason_no_ping => '#ffff99', + Reason_backup_in_progress => '#66cc99', + Reason_backup_canceled_by_user => '#ff9900', +}; + # # Additional CGI header text. For example, if you wanted each CGI page # to auto refresh every 900 seconds, you could add this text: