X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=conf%2Fconfig.pl;h=8c581400be13f5554393d29fd12bc31447ab7b76;hb=d5fa3b7c692c93f843a6154866ebd9ea8293302e;hp=54e0f5b0c0ddd09f7e4696f494f955bac9521348;hpb=3ec73efe5ee035c9cda24dc70500157e455d9c84;p=BackupPC.git diff --git a/conf/config.pl b/conf/config.pl index 54e0f5b..8c58140 100644 --- a/conf/config.pl +++ b/conf/config.pl @@ -153,13 +153,23 @@ $Conf{MaxOldLogFiles} = 14; $Conf{DfPath} = '/bin/df'; # -# Command to run df. Several variables are substituted at run-time: +# Command to run df. The following variables are substituted at run-time: # # $dfPath path to df ($Conf{DfPath}) # $topDir top-level BackupPC data directory # $Conf{DfCmd} = '$dfPath $topDir'; +# +# Full path to various commands for archiving +# + +$Conf{SplitPath} = '/usr/bin/split'; +$Conf{ParPath} = '/usr/bin/par'; +$Conf{CatPath} = '/bin/cat'; +$Conf{GzipPath} = '/bin/gzip'; +$Conf{Bzip2Path} = '/usr/bin/bzip2'; + # # Maximum threshold for disk utilization on the __TOPDIR__ filesystem. # If the output from $Conf{DfPath} reports a percentage larger than @@ -263,7 +273,7 @@ $Conf{SmbShareName} = 'C$'; $Conf{SmbShareUserName} = ''; # -# Smbclient share password. This is passed to smbclient via the PASSWD +# Smbclient share password. This is passed to smbclient via its PASSWD # environment variable. There are several ways you can tell BackupPC # the smb share password. In each case you should be very careful about # security. If you put the password here, make sure that this file is @@ -315,6 +325,22 @@ $Conf{TarShareName} = '/'; # time taken for the backup, plus the granularity of $Conf{WakeupSchedule} # will make the actual backup interval a bit longer. # +# There are two special values for $Conf{FullPeriod}: +# +# -1 Don't do any regular backups on this machine. Manually +# requested backups (via the CGI interface) will still occur. +# +# -2 Don't do any backups on this machine. Manually requested +# backups (via the CGI interface) will be ignored. +# +# These special settings are useful for a client that is no longer +# being backed up (eg: a retired machine), but you wish to keep the +# last backups available for browsing or restoring to other machines. +# +# Also, you might create a virtual client (by setting $Conf{ClientNameAlias}) +# for restoring to a DVD or permanent media and you would set +# $Conf{FullPeriod} to -2 so that it is never backed up. +# $Conf{FullPeriod} = 6.97; # @@ -406,6 +432,13 @@ $Conf{IncrFill} = 0; # $Conf{RestoreInfoKeepCnt} = 10; +# +# Number of archive logs to keep. BackupPC remembers information about +# each archive request. This number per archive client will be kept around before +# the oldest ones are pruned. +# +$Conf{ArchiveInfoKeepCnt} = 10; + # # List of directories or files to backup. If this is defined, only these # directories or files will be backed up. @@ -469,7 +502,7 @@ $Conf{BackupFilesOnly} = undef; # $Conf{BackupFilesExclude} = { # 'c' => ['/temp', '/winnt/tmp'], # these are for 'c' share # 'd' => ['/junk', '/dont_back_this_up'], # these are for 'd' share -# } +# }; # $Conf{BackupFilesExclude} = undef; @@ -514,6 +547,14 @@ $Conf{BlackoutHourBegin} = 7.0; $Conf{BlackoutHourEnd} = 19.5; $Conf{BlackoutWeekDays} = [1, 2, 3, 4, 5]; +# +# A backup of a share that has zero files is considered fatal. This is +# used to catch miscellaneous Xfer errors that result in no files being +# backed up. If you have shares that might be empty (and therefore an +# empty backup is valid) you should set this flag to 0. +# +$Conf{BackupZeroFilesIsFatal} = 1; + ########################################################################### # General per-PC configuration settings # (can be overridden in the per-PC config.pl) @@ -538,9 +579,6 @@ $Conf{BlackoutWeekDays} = [1, 2, 3, 4, 5]; # - 'tar': backup and restore via tar, tar over ssh, rsh or nfs. # Good choice for linux/unix. # -# A future version should support 'rsync' as a transport method for -# more efficient backup of linux/unix machines (and perhaps WinXX??). -# $Conf{XferMethod} = 'smb'; # @@ -559,7 +597,7 @@ $Conf{SmbClientPath} = '/usr/bin/smbclient'; # Commands to run smbclient for a full dump, incremental dump or a restore. # This setting only matters if $Conf{XferMethod} = 'smb'. # -# Several variables are substituted at run-time: +# The following variables are substituted at run-time: # # $smbClientPath same as $Conf{SmbClientPath} # $host host to backup/restore @@ -602,8 +640,7 @@ $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName' # are sufficient to read all the files you want to backup. Also, you # will probably want to add "/proc" to $Conf{BackupFilesExclude}. # -# Several variables are substituted at run-time. The following variables -# are substituted at run-time: +# The following variables are substituted at run-time: # # $host host name # $hostIP host's IP address @@ -704,7 +741,7 @@ $Conf{RsyncClientPath} = '/bin/rsync'; # # This setting only matters if $Conf{XferMethod} = 'rsync'. # -$Conf{RsyncClientCmd} = '$sshPath -l root $host $rsyncPath $argList'; +$Conf{RsyncClientCmd} = '$sshPath -l root $host $rsyncPath $argList+'; # # Full command to run rsync for restore on the client. The following @@ -721,7 +758,7 @@ $Conf{RsyncClientCmd} = '$sshPath -l root $host $rsyncPath $argList'; # # This setting only matters if $Conf{XferMethod} = 'rsync'. # -$Conf{RsyncClientRestoreCmd} = '$sshPath -l root $host $rsyncPath $argList'; +$Conf{RsyncClientRestoreCmd} = '$sshPath -l root $host $rsyncPath $argList+'; # # Share name to backup. For $Conf{XferMethod} = "rsync" this should @@ -835,6 +872,69 @@ $Conf{RsyncRestoreArgs} = [ # $Conf{RsyncLogLevel} = 1; +# +# 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 number of Parity Files to generate. +# Uses the commandline par 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. +# +$Conf{ArchiveSplit} = 650; + +# +# Archive Command +# +# This is the command that is called to actually run the archive process +# 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 par 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 number of par files to create +# +$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archivecd $tarCreatePath $splitpath $parpath $host $backupnumber $compression $compext $splitsize $archiveloc $parfile /'; + # # Full path for ssh. Security caution: normal users should not # allowed to write to this file or directory. @@ -852,7 +952,7 @@ $Conf{NmbLookupPath} = '/usr/bin/nmblookup'; # # NmbLookup command. Given an IP address, does an nmblookup on that -# IP address. Several variables are substituted at run-time: +# IP address. The following variables are substituted at run-time: # # $nmbLookupPath path to nmblookup ($Conf{NmbLookupPath}) # $host IP address @@ -864,7 +964,7 @@ $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: +# a NetBios lookup. Several variables are substituted at run-time: # # $nmbLookupPath path to nmblookup ($Conf{NmbLookupPath}) # $host NetBios name @@ -876,6 +976,17 @@ $Conf{NmbLookupCmd} = '$nmbLookupPath -A $host'; # # $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -B 192.168.1.255 $host'; # +# If you use a WINS server and your machines don't respond to +# multicast NetBios requests you can use this (replace 1.2.3.4 +# with the IP address of your WINS server): +# +# $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -R -U 1.2.3.4 $host'; +# +# This is preferred over multicast since it minimizes network traffic. +# +# Experiment manually for your site to see what form of nmblookup command +# works. +# $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host'; # @@ -900,7 +1011,7 @@ $Conf{FixedIPNetBiosNameCheck} = 0; $Conf{PingPath} = '/bin/ping'; # -# Ping command. Several variables are substituted at run-time: +# Ping command. The following variables are substituted at run-time: # # $pingPath path to ping ($Conf{PingPath}) # $host host name @@ -911,6 +1022,25 @@ $Conf{PingPath} = '/bin/ping'; # $Conf{PingCmd} = '$pingPath -c 1 $host'; +# +# Path to init.d script and command to use that script to start the +# server from the CGI interface. The following variables are substituted +# at run-time: +# +# $sshPath path to ssh ($Conf{SshPath}) +# $serverHost same as $Conf{ServerHost} +# $serverInitdPath path to init.d script ($Conf{ServerInitdPath}) +# +# Example: +# +# $Conf{ServerInitdPath} = '/etc/init.d/backuppc'; +# $Conf{ServerInitdStartCmd} = '$sshPath -l root $serverHost' +# . ' $serverInitdPath start' +# . ' < /dev/null >& /dev/null'; +# +$Conf{ServerInitdPath} = ''; +$Conf{ServerInitdStartCmd} = ''; + # # Compression level to use on files. 0 means no compression. Compression # levels can be from 1 (least cpu time, slightly worse compression) to @@ -991,13 +1121,68 @@ $Conf{MaxOldPerPCLogFiles} = 12; # # $Conf{DumpPreUserCmd} = '$sshPath -l root $host /usr/bin/dumpMysql'; # -# Various variable substitutions are available; see BackupPC_dump -# or BackupPC_restore for the details. +# The following variable substitutions are made at run time for +# $Conf{DumpPreUserCmd} and $Conf{DumpPostUserCmd}: +# +# $type type of dump (incr or full) +# $xferOK 1 if the dump succeeded, 0 if it didn't +# $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 +# $user user name from the hosts file +# $moreUsers list of additional users from the hosts file +# $share the first share name +# $shares list of all the share names +# $XferMethod value of $Conf{XferMethod} (eg: tar, rsync, smb) +# $sshPath value of $Conf{SshPath}, +# +# The following variable substitutions are made at run time for +# $Conf{RestorePreUserCmd} and $Conf{RestorePostUserCmd}: +# +# $client client name being backed up +# $xferOK 1 if the restore succeeded, 0 if it didn't +# $host host name (could be different from client name if +# $Conf{ClientNameAlias} is set) +# $hostIP IP address of host +# $user user name from the hosts file +# $moreUsers list of additional users from the hosts file +# $share the first share name +# $XferMethod value of $Conf{XferMethod} (eg: tar, rsync, smb) +# $sshPath value of $Conf{SshPath}, +# $type set to "restore" +# $bkupSrcHost host name of the restore source +# $bkupSrcShare share name of the restore source +# $bkupSrcNum backup number of the restore source +# $pathHdrSrc common starting path of restore source +# $pathHdrDest common starting path of destination +# $fileList list of files being restored +# +# The following variable substitutions are made at run time for +# $Conf{ArchivePreUserCmd} and $Conf{ArchivePostUserCmd}: +# +# $client client name being backed up +# $xferOK 1 if the archive succeeded, 0 if it didn't +# $host Name of the archive host +# $user user name from the hosts file +# $share the first share name +# $XferMethod value of $Conf{XferMethod} (eg: tar, rsync, smb) +# $HostList list of hosts being archived +# $BackupList list of backup numbers for the hosts being archived +# $archiveloc location where the archive is sent to +# $parfile number of par files being generated +# $compression compression program being used (eg: cat, gzip, bzip2) +# $compext extension used for compression type (eg: raw, gz, bz2) +# $splitsize size of the files that the archive creates +# $sshPath value of $Conf{SshPath}, +# $type set to "archive" # $Conf{DumpPreUserCmd} = undef; $Conf{DumpPostUserCmd} = undef; $Conf{RestorePreUserCmd} = undef; $Conf{RestorePostUserCmd} = undef; +$Conf{ArchivePreUserCmd} = undef; +$Conf{ArchivePostUserCmd} = undef; # # Override the client's host name. This allows multiple clients @@ -1234,20 +1419,9 @@ $Conf{CgiDateFormatMMDD} = 1; $Conf{CgiNavBarAdminAllHosts} = 0; # -# Header font and size for CGI interface -# -$Conf{CgiHeaderFontType} = 'arial'; -$Conf{CgiHeaderFontSize} = '3'; - +# Color scheme for CGI interface. # -# Color scheme for CGI interface. Default values give a very light blue -# for the background navigation color, green for the header background, -# and white for the body background. (You call tell I should stick to -# programming and not graphical design.) -# -$Conf{CgiNavBarBgColor} = '#ddeeee'; $Conf{CgiHeaderBgColor} = '#99cc33'; -$Conf{CgiBodyBgColor} = '#ffffff'; # # Hilight colors based on status that are used in the PC summary page. @@ -1256,8 +1430,8 @@ $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', + Status_backup_in_progress => '#66cc99', }; # @@ -1298,3 +1472,179 @@ $Conf{CgiExt2ContentType} = { }; # $Conf{CgiImageDirURL} = '/BackupPC'; # $Conf{CgiImageDirURL} = ''; + +# +# CSS stylesheet for the CGI interface. +# +$Conf{CSSstylesheet} = <<'EOF'; + +EOF