X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=conf%2Fconfig.pl;h=f0fe2b469666ae541896bf4be9c6183383f9a25e;hp=fbb0509d4164774cc318f8f8ea5801edbb51c911;hb=2c6ebbdaeabadbda3af4bc7c748995215c045b82;hpb=3dc33e5f39430031766adf3c5bb2ffc649ee9100 diff --git a/conf/config.pl b/conf/config.pl index fbb0509..f0fe2b4 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} = '/'; @@ -434,8 +455,10 @@ $Conf{BackupFilesOnly} = undef; # 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}. +# 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}. # # Examples: # $Conf{BackupFilesExclude} = '/temp'; @@ -531,17 +554,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 +625,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 +654,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 +723,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 +849,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 @@ -920,6 +993,23 @@ $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 hostj. 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). Eg: +# +# $Conf{ClientNameAlias} = 'realHostName'; +# +# 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. @@ -962,38 +1052,36 @@ $Conf{EMailFromUserName} = ''; $Conf{EMailAdminUserName} = ''; # -# This message is sent to a user if their PC has never been backed up. -# If your mailer needs a fully-qualified To name, then change "$user" -# to "$user@mydomain.com" in the template, eg: +# Destination domain name for email sent to users. By default +# this is empty, meaning email is sent to plain, unqualified +# addresses. Otherwise, set it to the destintation domain, eg: # -# To: $user@mydomain.com +# $Cong{EMailUserDestDomain} = '@mydomain.com'; # -$Conf{EMailNoBackupEverMesg} = <<'EOF'; -To: $user -cc: -Subject: $subj - -Dear $userName, - -Your PC ($host) has never been successfully backed up by our -PC backup software. PC backups should occur automatically -when your PC is connected to the network. You should contact -computer support if: - - - Your PC has been regularly connected to the network, meaning - there is some configuration or setup problem preventing - backups from occurring. - - - You don't want your PC backed up and you want these email - messages to stop. - -Otherwise, please make sure your PC is connected to the network -next time you are in the office. +# With this setting user email will be set to 'user@mydomain.com'. +# +$Conf{EMailUserDestDomain} = ''; -Regards, -BackupPC Genie -http://backuppc.sourceforge.net -EOF +# +# This subject and message is sent to a user if their PC has never been +# backed up. +# +# These values are language-dependent. The default versions can be +# found in the language file (eg: lib/BackupPC/Lang/en.pm). If you +# need to change the message, copy it here and edit it, eg: +# +# $Conf{EMailNoBackupEverMesg} = <<'EOF'; +# To: $user$domain +# cc: +# Subject: $subj +# +# Dear $userName, +# +# This is a site-specific email message. +# EOF +# +$Conf{EMailNoBackupEverSubj} = undef; +$Conf{EMailNoBackupEverMesg} = undef; # # How old the most recent backup has to be before notifying user. @@ -1003,40 +1091,25 @@ EOF $Conf{EMailNotifyOldBackupDays} = 7.0; # -# This message is sent to a user if their PC has not recently been -# backed up (ie: more than $Conf{EMailNotifyOldBackupDays} days ago). +# This subject and message is sent to a user if their PC has not recently +# been backed up (ie: more than $Conf{EMailNotifyOldBackupDays} days ago). # -# If your mailer needs a fully-qualified To name, then change "$user" -# to "$user@mydomain.com" in the template, eg: +# These values are language-dependent. The default versions can be +# found in the language file (eg: lib/BackupPC/Lang/en.pm). If you +# need to change the message, copy it here and edit it, eg: # -# To: $user@mydomain.com +# $Conf{EMailNoBackupRecentMesg} = <<'EOF'; +# To: $user$domain +# cc: +# Subject: $subj +# +# Dear $userName, +# +# This is a site-specific email message. +# EOF # -$Conf{EMailNoBackupRecentMesg} = <<'EOF'; -To: $user -cc: -Subject: $subj - -Dear $userName, - -Your PC ($host) has not been successfully backed up for $days days. -Your PC has been correctly backed up $numBackups times from $firstTime to $days days -ago. PC backups should occur automatically when your PC is connected -to the network. - -If your PC has been connected for more than a few hours to the -network during the last $days days you should contact IS to find -out why backups are not working. - -Otherwise, if you are out of the office, there's not much you can -do, other than manually copying especially critical files to other -media. You should be aware that any files you have created or -changed in the last $days days (including all new email and -attachments) cannot be restored if your PC disk crashes. - -Regards, -BackupPC Genie -http://backuppc.sourceforge.net -EOF +$Conf{EMailNoBackupRecentSubj} = undef; +$Conf{EMailNoBackupRecentMesg} = undef; # # How old the most recent backup of Outlook files has to be before @@ -1045,43 +1118,26 @@ EOF $Conf{EMailNotifyOldOutlookDays} = 5.0; # -# This message is sent to a user if their Outlook files have not -# recently been backed up (ie: more than $Conf{EMailNotifyOldOutlookDays} +# This subject and message is sent to a user if their Outlook files have +# not recently been backed up (ie: more than $Conf{EMailNotifyOldOutlookDays} # days ago). # -# If your mailer needs a fully-qualified To name, then change "$user" -# to "$user@mydomain.com" in the template, eg: +# These values are language-dependent. The default versions can be +# found in the language file (eg: lib/BackupPC/Lang/en.pm). If you +# need to change the message, copy it here and edit it, eg: # -# To: $user@mydomain.com +# $Conf{EMailOutlookBackupMesg} = <<'EOF'; +# To: $user$domain +# cc: +# Subject: $subj +# +# Dear $userName, +# +# This is a site-specific email message. +# EOF # -$Conf{EMailOutlookBackupMesg} = <<'EOF'; -To: $user -cc: -Subject: $subj - -Dear $userName, - -The Outlook files on your PC have $howLong. -These files contain all your email, attachments, contact and calendar -information. Your PC has been correctly backed up $numBackups times from -$firstTime to $lastTime days ago. However, Outlook locks all its files when -it is running, preventing these files from being backed up. - -It is recommended you backup the Outlook files when you are connected -to the network by exiting Outlook and all other applications, and, -using just your browser, go to this link: - - http://myHost/cgi-bin/BackupPC_Admin?host=$host - -Select "Start Incr Backup" twice to start a new incremental backup. -You can select "Return to $host page" and then hit "reload" to check -the status of the backup. It should take just a few minutes to -complete. - -Regards, -BackupPC Genie -http://backuppc.sourceforge.net -EOF +$Conf{EMailOutlookBackupSubj} = undef; +$Conf{EMailOutlookBackupMesg} = undef; ########################################################################### # CGI user interface configuration settings @@ -1116,6 +1172,11 @@ EOF $Conf{CgiAdminUserGroup} = ''; $Conf{CgiAdminUsers} = ''; +# +# URL of the BackupPC_Admin CGI script. Used for email messages. +# +$Conf{CgiURL} = undef; + # # Language to use. See lib/BackupPC/Lang for the list of supported # languages, which includes English (en) and French (fr). Currently