config.pl (BackupPC-4.3.2) | : | config.pl (BackupPC-4.4.0) | ||
---|---|---|---|---|
skipping to change at line 228 | skipping to change at line 228 | |||
# 4: recompute 1/4 the V4 pool size every night | # 4: recompute 1/4 the V4 pool size every night | |||
# 8: recompute 1/8 the V4 pool size every night | # 8: recompute 1/8 the V4 pool size every night | |||
# 16: recompute 1/16 the V4 pool size every night | # 16: recompute 1/16 the V4 pool size every night | |||
# (2nd fastest option; ensures the pool files sizes | # (2nd fastest option; ensures the pool files sizes | |||
# stay accurate after a few day, in case the relative | # stay accurate after a few day, in case the relative | |||
# upgrades miss a file) | # upgrades miss a file) | |||
# | # | |||
$Conf{PoolSizeNightlyUpdatePeriod} = 16; | $Conf{PoolSizeNightlyUpdatePeriod} = 16; | |||
# | # | |||
# Integrity check the pool files by confirming the md5 digest of the | ||||
# contents matches their file name. Because the pool is very large, | ||||
# only check a small random percentage of the pool files each night. | ||||
# | ||||
# This is check if there has been any server file system corruption. | ||||
# | ||||
# The default value of 1% means approximately 30% of the pool files | ||||
# will be checked each month, although the actual number will be a | ||||
# bit less since some files might be checked more than once in that | ||||
# time. If BackupPC_nightly takes too long, you could reduce this | ||||
# value. | ||||
# | ||||
$Conf{PoolNightlyDigestCheckPercent} = 1; | ||||
# | ||||
# Reference counts of pool files are computed per backup by accumulating | # Reference counts of pool files are computed per backup by accumulating | |||
# the relative changes. That means, however, that any error will never be | # the relative changes. That means, however, that any error will never be | |||
# corrected. To be more conservative, we do a periodic full-redo of the | # corrected. To be more conservative, we do a periodic full-redo of the | |||
# backup reference counts (called an "fsck"). $Conf{RefCntFsck} controls | # backup reference counts (called an "fsck"). $Conf{RefCntFsck} controls | |||
# how often this is done: | # how often this is done: | |||
# | # | |||
# 0: no additional fsck | # 0: no additional fsck | |||
# 1: do an fsck on the last backup if it is from a full backup | # 1: do an fsck on the last backup if it is from a full backup | |||
# 2: do an fsck on the last two backups always | # 2: do an fsck on the last two backups always | |||
# 3: do a full fsck on all the backups | # 3: do a full fsck on all the backups | |||
skipping to change at line 375 | skipping to change at line 390 | |||
# CgiDir - Apache CGI directory for BackupPC_Admin | # CgiDir - Apache CGI directory for BackupPC_Admin | |||
# | # | |||
# Note: it is STRONGLY recommended that you don't change the | # Note: it is STRONGLY recommended that you don't change the | |||
# values here. These are set at installation time and are here | # values here. These are set at installation time and are here | |||
# for reference and are used during upgrades. | # for reference and are used during upgrades. | |||
# | # | |||
# Instead of changing TopDir here it is recommended that you use | # Instead of changing TopDir here it is recommended that you use | |||
# a symbolic link to the new location, or mount the new BackupPC | # a symbolic link to the new location, or mount the new BackupPC | |||
# store at the existing $Conf{TopDir} setting. | # store at the existing $Conf{TopDir} setting. | |||
# | # | |||
$Conf{TopDir} = ''; | $Conf{TopDir} = ''; | |||
$Conf{ConfDir} = ''; | $Conf{ConfDir} = ''; | |||
$Conf{LogDir} = ''; | $Conf{LogDir} = ''; | |||
$Conf{RunDir} = ''; | $Conf{RunDir} = ''; | |||
$Conf{InstallDir} = ''; | $Conf{InstallDir} = ''; | |||
$Conf{CgiDir} = ''; | $Conf{CgiDir} = ''; | |||
# | # | |||
# Whether BackupPC and the CGI script BackupPC_Admin verify that they | # Whether BackupPC and the CGI script BackupPC_Admin verify that they | |||
# are really running as user $Conf{BackupPCUser}. If this flag is set | # are really running as user $Conf{BackupPCUser}. If this flag is set | |||
# and the effective user id (euid) differs from $Conf{BackupPCUser} | # and the effective user id (euid) differs from $Conf{BackupPCUser} | |||
# then both scripts exit with an error. This catches cases where | # then both scripts exit with an error. This catches cases where | |||
# BackupPC might be accidentally started as root or the wrong user, | # BackupPC might be accidentally started as root or the wrong user, | |||
# or if the CGI script is not installed correctly. | # or if the CGI script is not installed correctly. | |||
# | # | |||
$Conf{BackupPCUserVerify} = 1; | $Conf{BackupPCUserVerify} = 1; | |||
skipping to change at line 407 | skipping to change at line 422 | |||
# so that new hardlinks can be accommodated. This limit will only | # so that new hardlinks can be accommodated. This limit will only | |||
# be hit if an identical file appears at least this number of times | # be hit if an identical file appears at least this number of times | |||
# across all the backups. | # across all the backups. | |||
# | # | |||
$Conf{HardLinkMax} = 31999; | $Conf{HardLinkMax} = 31999; | |||
# | # | |||
# Advanced option for asking BackupPC to load additional perl modules. | # Advanced option for asking BackupPC to load additional perl modules. | |||
# Can be a list (arrayref) of module names to load at startup. | # Can be a list (arrayref) of module names to load at startup. | |||
# | # | |||
$Conf{PerlModuleLoad} = undef; | $Conf{PerlModuleLoad} = undef; | |||
# | # | |||
# Path to init.d script and command to use that script to start the | # Path to init.d script and command to use that script to start the | |||
# server from the CGI interface. The following variables are substituted | # server from the CGI interface. The following variables are substituted | |||
# at run-time: | # at run-time: | |||
# | # | |||
# $sshPath path to ssh ($Conf{SshPath}) | # $sshPath path to ssh ($Conf{SshPath}) | |||
# $serverHost same as $Conf{ServerHost} | # $serverHost same as $Conf{ServerHost} | |||
# $serverInitdPath path to init.d script ($Conf{ServerInitdPath}) | # $serverInitdPath path to init.d script ($Conf{ServerInitdPath}) | |||
# | # | |||
skipping to change at line 429 | skipping to change at line 444 | |||
# | # | |||
# $Conf{ServerInitdPath} = '/etc/init.d/backuppc'; | # $Conf{ServerInitdPath} = '/etc/init.d/backuppc'; | |||
# $Conf{ServerInitdStartCmd} = '$sshPath -q -x -l root $serverHost' | # $Conf{ServerInitdStartCmd} = '$sshPath -q -x -l root $serverHost' | |||
# . ' $serverInitdPath start' | # . ' $serverInitdPath start' | |||
# . ' < /dev/null >& /dev/null'; | # . ' < /dev/null >& /dev/null'; | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{ServerInitdPath} = ''; | $Conf{ServerInitdPath} = ''; | |||
$Conf{ServerInitdStartCmd} = ''; | $Conf{ServerInitdStartCmd} = ''; | |||
########################################################################### | ########################################################################### | |||
# What to backup and when to do it | # What to backup and when to do it | |||
# (can be overridden in the per-PC config.pl) | # (can be overridden in the per-PC config.pl) | |||
########################################################################### | ########################################################################### | |||
# | # | |||
# Minimum period in days between full backups. A full dump will only be | # Minimum period in days between full backups. A full dump will only be | |||
# done if at least this much time has elapsed since the last full dump, | # done if at least this much time has elapsed since the last full dump, | |||
# and at least $Conf{IncrPeriod} days has elapsed since the last | # and at least $Conf{IncrPeriod} days has elapsed since the last | |||
skipping to change at line 812 | skipping to change at line 827 | |||
# weekDays => [5, 6], | # weekDays => [5, 6], | |||
# }, | # }, | |||
# ]; | # ]; | |||
# | # | |||
# This specifies one blackout period from 7:00am to 7:30pm local time | # This specifies one blackout period from 7:00am to 7:30pm local time | |||
# on Mon-Fri, and a second period from 11pm to 5am on Friday and | # on Mon-Fri, and a second period from 11pm to 5am on Friday and | |||
# Saturday night. | # Saturday night. | |||
# | # | |||
$Conf{BlackoutPeriods} = [ | $Conf{BlackoutPeriods} = [ | |||
{ | { | |||
hourBegin => 7.0, | hourBegin => 7.0, | |||
hourEnd => 19.5, | hourEnd => 19.5, | |||
weekDays => [1, 2, 3, 4, 5], | weekDays => [1, 2, 3, 4, 5], | |||
}, | }, | |||
]; | ]; | |||
# | # | |||
# A backup of a share that has zero files is considered fatal. This is | # 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 | # 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 | # backed up. If you have shares that might be empty (and therefore an | |||
# empty backup is valid) you should set this flag to 0. | # empty backup is valid) you should set this flag to 0. | |||
# | # | |||
$Conf{BackupZeroFilesIsFatal} = 1; | $Conf{BackupZeroFilesIsFatal} = 1; | |||
skipping to change at line 924 | skipping to change at line 939 | |||
# $Conf{TarShareName}, $Conf{RsyncShareName}, $Conf{FtpShareName}, and the | # $Conf{TarShareName}, $Conf{RsyncShareName}, $Conf{FtpShareName}, and the | |||
# value is the string path name on the client. When a backup or restore is | # value is the string path name on the client. When a backup or restore is | |||
# done, if there is no matching entry in $Conf{ClientShareName2Path}, or the | # done, if there is no matching entry in $Conf{ClientShareName2Path}, or the | |||
# entry is empty, then the share name is not modified (so the default behavior | # entry is empty, then the share name is not modified (so the default behavior | |||
# is unchanged). | # is unchanged). | |||
# | # | |||
# If you are using the rsyncd xfer method, then there is no need to use this | # If you are using the rsyncd xfer method, then there is no need to use this | |||
# configuration setting (since rsyncd already supports mapping of share names | # configuration setting (since rsyncd already supports mapping of share names | |||
# to paths in the client's rsyncd.conf). | # to paths in the client's rsyncd.conf). | |||
# | # | |||
$Conf{ClientShareName2Path} = { }; | $Conf{ClientShareName2Path} = {}; | |||
########################################################################### | ########################################################################### | |||
# Samba Configuration | # Samba Configuration | |||
# (can be overwritten in the per-PC log file) | # (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 | # 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. | # string or an array of strings if there are multiple shares per host. | |||
# Examples: | # Examples: | |||
# | # | |||
skipping to change at line 993 | skipping to change at line 1008 | |||
# $userName username | # $userName username | |||
# $fileList list of files to backup (based on exclude/include) | # $fileList list of files to backup (based on exclude/include) | |||
# $I_option optional -I option to smbclient | # $I_option optional -I option to smbclient | |||
# $X_option exclude option (if $fileList is an exclude list) | # $X_option exclude option (if $fileList is an exclude list) | |||
# $timeStampFile start time for incremental dump | # $timeStampFile start time for incremental dump | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName' | $Conf{SmbClientFullCmd} = | |||
. ' $I_option -U $userName -E -d 1' | '$smbClientPath \\\\$host\\$shareName' | |||
. ' -c tarmode\\ full -mSMB3 -Tc$X_option - $fileList'; | . ' $I_option -U $userName -E -d 1' | |||
. ' -c tarmode\\ full -mSMB3 -Tc$X_option - $fileList'; | ||||
# | # | |||
# Command to run smbclient for an incremental dump. | # Command to run smbclient for an incremental dump. | |||
# This setting only matters if $Conf{XferMethod} = 'smb'. | # This setting only matters if $Conf{XferMethod} = 'smb'. | |||
# | # | |||
# Same variable substitutions are applied as $Conf{SmbClientFullCmd}. | # Same variable substitutions are applied as $Conf{SmbClientFullCmd}. | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName' | $Conf{SmbClientIncrCmd} = | |||
. ' $I_option -U $userName -E -d 1' | '$smbClientPath \\\\$host\\$shareName' | |||
. ' -c tarmode\\ full -mSMB3 -TcN$X_option $timeStampFile - $fileList | . ' $I_option -U $userName -E -d 1' | |||
'; | . ' -c tarmode\\ full -mSMB3 -TcN$X_option $timeStampFile - $fileList'; | |||
# | # | |||
# Command to run smbclient for a restore. | # Command to run smbclient for a restore. | |||
# This setting only matters if $Conf{XferMethod} = 'smb'. | # This setting only matters if $Conf{XferMethod} = 'smb'. | |||
# | # | |||
# Same variable substitutions are applied as $Conf{SmbClientFullCmd}. | # Same variable substitutions are applied as $Conf{SmbClientFullCmd}. | |||
# | # | |||
# If your smb share is read-only then direct restores will fail. | # If your smb share is read-only then direct restores will fail. | |||
# You should set $Conf{SmbClientRestoreCmd} to undef and the | # You should set $Conf{SmbClientRestoreCmd} to undef and the | |||
# corresponding CGI restore option will be removed. | # corresponding CGI restore option will be removed. | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName' | $Conf{SmbClientRestoreCmd} = | |||
. ' $I_option -U $userName -E -d 1' | '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmod | |||
. ' -c tarmode\\ full -mSMB3 -Tx -'; | e\\ full -mSMB3 -Tx -'; | |||
########################################################################### | ########################################################################### | |||
# Tar Configuration | # Tar Configuration | |||
# (can be overwritten in the per-PC log file) | # (can be overwritten in the per-PC log file) | |||
########################################################################### | ########################################################################### | |||
# | # | |||
# Which host directories to backup when using tar transport. This can be a | # 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 | # string or an array of strings if there are multiple directories to | |||
# backup per host. Examples: | # backup per host. Examples: | |||
# | # | |||
skipping to change at line 1106 | skipping to change at line 1122 | |||
# If a variable is followed by a "+" it is shell escaped. This is | # If a variable is followed by a "+" it is shell escaped. This is | |||
# necessary for the command part of ssh or rsh, since it ends up | # necessary for the command part of ssh or rsh, since it ends up | |||
# getting passed through the shell. | # getting passed through the shell. | |||
# | # | |||
# This setting only matters if $Conf{XferMethod} = 'tar'. | # This setting only matters if $Conf{XferMethod} = 'tar'. | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host' | $Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host env LC_ALL=C $tarPath -c | |||
. ' env LC_ALL=C $tarPath -c -v -f - -C $shareName+' | -v -f - -C $shareName+ --totals'; | |||
. ' --totals'; | ||||
v -f - -C <span class="insert">$shareName+</span> --totals'; | ||||
# | # | |||
# Extra tar arguments for full backups. Several variables are substituted at | # Extra tar arguments for full backups. Several variables are substituted at | |||
# run-time. See $Conf{TarClientCmd} for the list of variable substitutions. | # 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 | # If you are running tar locally (ie: without rsh or ssh) then remove the | |||
# "+" so that the argument is no longer shell escaped. | # "+" so that the argument is no longer shell escaped. | |||
# | # | |||
# This setting only matters if $Conf{XferMethod} = 'tar'. | # This setting only matters if $Conf{XferMethod} = 'tar'. | |||
# | # | |||
skipping to change at line 1167 | skipping to change at line 1181 | |||
# This setting only matters if $Conf{XferMethod} = "tar". | # This setting only matters if $Conf{XferMethod} = "tar". | |||
# | # | |||
# If you want to disable direct restores using tar, you should set | # If you want to disable direct restores using tar, you should set | |||
# $Conf{TarClientRestoreCmd} to undef and the corresponding CGI | # $Conf{TarClientRestoreCmd} to undef and the corresponding CGI | |||
# restore option will be removed. | # restore option will be removed. | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host' | $Conf{TarClientRestoreCmd} = | |||
. ' env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner' | '$sshPath -q -x -l root $host' | |||
. ' -v -f - -C $shareName+'; | . ' env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner' | |||
. ' -v -f - -C $shareName+'; | ||||
# | # | |||
# Full path for tar on the client. Security caution: normal users should not | # Full path for tar on the client. Security caution: normal users should not | |||
# allowed to write to this file or directory. | # allowed to write to this file or directory. | |||
# | # | |||
# This setting only matters if $Conf{XferMethod} = 'tar'. | # This setting only matters if $Conf{XferMethod} = 'tar'. | |||
# | # | |||
$Conf{TarClientPath} = ''; | $Conf{TarClientPath} = ''; | |||
########################################################################### | ########################################################################### | |||
skipping to change at line 1213 | skipping to change at line 1228 | |||
# | # | |||
$Conf{RsyncBackupPCPath} = ""; | $Conf{RsyncBackupPCPath} = ""; | |||
# | # | |||
# Ssh arguments for rsync to run ssh to connect to the client. | # Ssh arguments for rsync to run ssh to connect to the client. | |||
# Rather than permit root ssh on the client, it is more secure | # Rather than permit root ssh on the client, it is more secure | |||
# to just allow ssh via a low-privileged user, and use sudo | # to just allow ssh via a low-privileged user, and use sudo | |||
# in $Conf{RsyncClientPath}. | # in $Conf{RsyncClientPath}. | |||
# | # | |||
# The setting should only have two entries: "-e" and | # The setting should only have two entries: "-e" and | |||
# everything else; don't add additoinal array elements. | # everything else; don't add additional array elements. | |||
# | # | |||
# This setting only matters if $Conf{XferMethod} = 'rsync'. | # This setting only matters if $Conf{XferMethod} = 'rsync'. | |||
# | # | |||
$Conf{RsyncSshArgs} = [ | $Conf{RsyncSshArgs} = ['-e', '$sshPath -l root']; | |||
'-e', '$sshPath -l root', | ||||
]; | ||||
# | # | |||
# Share name to backup. For $Conf{XferMethod} = "rsync" this should | # Share name to backup. For $Conf{XferMethod} = "rsync" this should | |||
# be a file system path, eg '/' or '/home'. | # be a file system path, eg '/' or '/home'. | |||
# | # | |||
# For $Conf{XferMethod} = "rsyncd" this should be the name of the module | # For $Conf{XferMethod} = "rsyncd" this should be the name of the module | |||
# to backup (ie: the name from /etc/rsynd.conf). | # to backup (ie: the name from /etc/rsynd.conf). | |||
# | # | |||
# This can also be a list of multiple file system paths or modules. | # This can also be a list of multiple file system paths or modules. | |||
# For example, by adding --one-file-system to $Conf{RsyncArgs} you | # For example, by adding --one-file-system to $Conf{RsyncArgs} you | |||
skipping to change at line 1264 | skipping to change at line 1277 | |||
# the "secrets file" parameter in rsyncd.conf points to | # the "secrets file" parameter in rsyncd.conf points to | |||
# (eg: /etc/rsyncd.secrets). | # (eg: /etc/rsyncd.secrets). | |||
# | # | |||
$Conf{RsyncdPasswd} = ''; | $Conf{RsyncdPasswd} = ''; | |||
# | # | |||
# Arguments to rsync for backup. Do not edit the first set unless you | # Arguments to rsync for backup. Do not edit the first set unless you | |||
# have a good understanding of rsync options. | # have a good understanding of rsync options. | |||
# | # | |||
$Conf{RsyncArgs} = [ | $Conf{RsyncArgs} = [ | |||
'--super', | '--super', | |||
'--recursive', | '--recursive', | |||
'--protect-args', | '--protect-args', | |||
'--numeric-ids', | '--numeric-ids', | |||
'--perms', | '--perms', | |||
'--owner', | '--owner', | |||
'--group', | '--group', | |||
'-D', | '-D', | |||
'--times', | '--times', | |||
'--links', | '--links', | |||
'--hard-links', | '--hard-links', | |||
'--delete', | '--delete', | |||
'--delete-excluded', | '--delete-excluded', | |||
'--one-file-system', | '--one-file-system', | |||
'--partial', | '--partial', | |||
'--log-format=log: %o %i %B %8U,%8G %9l %f%L', | '--log-format=log: %o %i %B %8U,%8G %9l %f%L', | |||
'--stats', | '--stats', | |||
# | # | |||
# Add additional arguments here, for example --acls or --xattrs | # Add additional arguments here, for example --acls or --xattrs | |||
# if all the clients support them. | # if all the clients support them. | |||
# | # | |||
#'--acls', | #'--acls', | |||
#'--xattrs', | #'--xattrs', | |||
]; | ]; | |||
# | # | |||
# Additional arguments added to RsyncArgs. This can be used in | # Additional arguments added to RsyncArgs. This can be used in | |||
# combination with $Conf{RsyncArgs} to allow customization of | # combination with $Conf{RsyncArgs} to allow customization of | |||
# the rsync arguments on a part-client basis. The standard | # the rsync arguments on a part-client basis. The standard | |||
# arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} | # arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} | |||
# can be set on a per-client basis. | # can be set on a per-client basis. | |||
# | # | |||
# Examples of additional arguments that should work are --exclude/--include, | # Examples of additional arguments that should work are --exclude/--include, | |||
skipping to change at line 1338 | skipping to change at line 1351 | |||
# for every file (meaning the client reads every file and computes the | # for every file (meaning the client reads every file and computes the | |||
# checksum, which is sent with the file list). On the server, rsync_bpc | # checksum, which is sent with the file list). On the server, rsync_bpc | |||
# will skip any files that have a matching full-file checksum, and size, | # will skip any files that have a matching full-file checksum, and size, | |||
# mtime and number of hardlinks. Any file that has different attributes | # mtime and number of hardlinks. Any file that has different attributes | |||
# will be updating using the block rsync algorithm. | # will be updating using the block rsync algorithm. | |||
# | # | |||
# In V3, full backups applied the block rsync algorithm to every file, | # In V3, full backups applied the block rsync algorithm to every file, | |||
# which is a lot slower but a bit more conservative. To get that | # which is a lot slower but a bit more conservative. To get that | |||
# behavior, replace --checksum with --ignore-times. | # behavior, replace --checksum with --ignore-times. | |||
# | # | |||
$Conf{RsyncFullArgsExtra} = [ | $Conf{RsyncFullArgsExtra} = ['--checksum']; | |||
'--checksum', | ||||
]; | ||||
# | # | |||
# Additional arguments for an incremental rsync or rsyncd backup. | # Additional arguments for an incremental rsync or rsyncd backup. | |||
# | # | |||
$Conf{RsyncIncrArgsExtra} = [ | $Conf{RsyncIncrArgsExtra} = []; | |||
]; | ||||
# | # | |||
# Arguments to rsync for restore. Do not edit the first set unless you | # Arguments to rsync for restore. Do not edit the first set unless you | |||
# have a thorough understanding of how File::RsyncP works. | # have a thorough understanding of how File::RsyncP works. | |||
# | # | |||
# If you want to disable direct restores using rsync (eg: is the module | # If you want to disable direct restores using rsync (eg: is the module | |||
# is read-only), you should set $Conf{RsyncRestoreArgs} to undef and | # is read-only), you should set $Conf{RsyncRestoreArgs} to undef and | |||
# the corresponding CGI restore option will be removed. | # the corresponding CGI restore option will be removed. | |||
# | # | |||
# $Conf{RsyncRestoreArgs} is subject to the following variable | # $Conf{RsyncRestoreArgs} is subject to the following variable | |||
skipping to change at line 1368 | skipping to change at line 1378 | |||
# | # | |||
# $client client name being backed up | # $client client name being backed up | |||
# $host hostname (could be different from client name if | # $host hostname (could be different from client name if | |||
# $Conf{ClientNameAlias} is set) | # $Conf{ClientNameAlias} is set) | |||
# $hostIP IP address of host | # $hostIP IP address of host | |||
# $confDir configuration directory path | # $confDir configuration directory path | |||
# | # | |||
# Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}. | # Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}. | |||
# | # | |||
$Conf{RsyncRestoreArgs} = [ | $Conf{RsyncRestoreArgs} = [ | |||
'--recursive', | '--recursive', | |||
'--super', | '--super', | |||
'--protect-args', | '--protect-args', | |||
'--numeric-ids', | '--numeric-ids', | |||
'--perms', | '--perms', | |||
'--owner', | '--owner', | |||
'--group', | '--group', | |||
'-D', | '-D', | |||
'--times', | '--times', | |||
'--links', | '--links', | |||
'--hard-links', | '--hard-links', | |||
'--delete', | '--delete', | |||
'--partial', | '--partial', | |||
'--log-format=log: %o %i %B %8U,%8G %9l %f%L', | '--log-format=log: %o %i %B %8U,%8G %9l %f%L', | |||
'--stats', | '--stats', | |||
# | # | |||
# Add additional arguments here | # Add additional arguments here | |||
# | # | |||
#'--acls', | #'--acls', | |||
#'--xattrs', | #'--xattrs', | |||
]; | ]; | |||
# | ||||
# Additional arguments for an rsync or rsyncd restore. | ||||
# | ||||
# This makes it easy to have per-client arguments. | ||||
# | ||||
$Conf{RsyncRestoreArgsExtra} = []; | ||||
########################################################################### | ########################################################################### | |||
# FTP Configuration | # FTP Configuration | |||
# (can be overwritten in the per-PC log file) | # (can be overwritten in the per-PC log file) | |||
########################################################################## | ########################################################################## | |||
# | # | |||
# Which host directories to backup 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. | # string or an array of strings if there are multiple shares per host. | |||
# | # | |||
# This value must be specified in one of two ways: either as a | # 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 | # subdirectory of the 'share root' on the server, or as the absolute | |||
skipping to change at line 1556 | skipping to change at line 1573 | |||
# $compression The path to the compression program | # $compression The path to the compression program | |||
# $compext The extension assigned to the compression type | # $compext The extension assigned to the compression type | |||
# $splitsize The number of bytes to split archives into | # $splitsize The number of bytes to split archives into | |||
# $archiveloc The location to put the archive | # $archiveloc The location to put the archive | |||
# $parfile The amount of parity data to create (percentage) | # $parfile The amount of parity data to create (percentage) | |||
# | # | |||
# Note: all Cmds are executed directly without a shell, so the prog name | # 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 | # 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. | # redirection and pipes; put that in a script if you need it. | |||
# | # | |||
$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost' | $Conf{ArchiveClientCmd} = | |||
. ' $tarCreatePath $splitpath $parpath $host $backupnumber' | '$Installdir/bin/BackupPC_archiveHost' | |||
. ' $compression $compext $splitsize $archiveloc $parfile *'; | . ' $tarCreatePath $splitpath $parpath $host $backupnumber' | |||
. ' $compression $compext $splitsize $archiveloc $parfile *'; | ||||
# | # | |||
# Full path for ssh. Security caution: normal users should not | # Full path for ssh. Security caution: normal users should not | |||
# allowed to write to this file or directory. | # allowed to write to this file or directory. | |||
# | # | |||
$Conf{SshPath} = ''; | $Conf{SshPath} = ''; | |||
# | # | |||
# Full path for nmblookup. Security caution: normal users should not | # Full path for nmblookup. Security caution: normal users should not | |||
# allowed to write to this file or directory. | # allowed to write to this file or directory. | |||
skipping to change at line 2159 | skipping to change at line 2177 | |||
# | # | |||
# Additional navigation bar links. These appear for both regular users | # Additional navigation bar links. These appear for both regular users | |||
# and administrators. This is a list of hashes giving the link (URL) | # and administrators. This is a list of hashes giving the link (URL) | |||
# and the text (name) for the link. Specifying lname instead of name | # and the text (name) for the link. Specifying lname instead of name | |||
# uses the language specific string (ie: $Lang->{lname}) instead of | # uses the language specific string (ie: $Lang->{lname}) instead of | |||
# just literally displaying name. | # just literally displaying name. | |||
# | # | |||
$Conf{CgiNavBarLinks} = [ | $Conf{CgiNavBarLinks} = [ | |||
{ | { | |||
link => "?action=view&type=docs", | link => "?action=view&type=docs", | |||
lname => "Documentation", # actually displays $Lang->{Documentation} | lname => "Documentation", # actually displays $Lang->{Documen tation} | |||
}, | }, | |||
{ | { | |||
link => "https://github.com/backuppc/backuppc/wiki", | link => "https://github.com/backuppc/backuppc/wiki", | |||
name => "Wiki", # displays literal "Wiki" | name => "Wiki", # displays litera | |||
l "Wiki" | ||||
}, | }, | |||
{ | { | |||
link => "https://backuppc.github.io/backuppc", | link => "https://backuppc.github.io/backuppc", | |||
name => "Homepage", # displays literal "Homepage" | name => "Homepage", # displays litera | |||
l "Homepage" | ||||
}, | }, | |||
]; | ]; | |||
# | # | |||
# Highlight colors based on status that are used in the PC summary page. | # Highlight colors based on status that are used in the PC summary page. | |||
# | # | |||
$Conf{CgiStatusHilightColor} = { | $Conf{CgiStatusHilightColor} = { | |||
Reason_backup_failed => '#ffcccc', | Reason_backup_failed => '#ffcccc', | |||
Reason_backup_done => '#ccffcc', | Reason_backup_done => '#ccffcc', | |||
Reason_no_ping => '#ffff99', | Reason_no_ping => '#ffff99', | |||
skipping to change at line 2209 | skipping to change at line 2227 | |||
# | # | |||
# Additional mappings of filename extensions to Content-Type for | # Additional mappings of filename extensions to Content-Type for | |||
# individual file restore. See $Ext2ContentType in BackupPC_Admin | # individual file restore. See $Ext2ContentType in BackupPC_Admin | |||
# for the default setting. You can add additional settings here, | # for the default setting. You can add additional settings here, | |||
# or override any default settings. Example: | # or override any default settings. Example: | |||
# | # | |||
# $Conf{CgiExt2ContentType} = { | # $Conf{CgiExt2ContentType} = { | |||
# 'pl' => 'text/plain', | # 'pl' => 'text/plain', | |||
# }; | # }; | |||
# | # | |||
$Conf{CgiExt2ContentType} = { }; | $Conf{CgiExt2ContentType} = {}; | |||
# | # | |||
# URL (without the leading http://host) for BackupPC's image directory. | # URL (without the leading http://host) for BackupPC's image directory. | |||
# The CGI script uses this value to serve up image files. | # The CGI script uses this value to serve up image files. | |||
# | # | |||
# Example: | # Example: | |||
# $Conf{CgiImageDirURL} = '/BackupPC'; | # $Conf{CgiImageDirURL} = '/BackupPC'; | |||
# | # | |||
$Conf{CgiImageDirURL} = ''; | $Conf{CgiImageDirURL} = ''; | |||
skipping to change at line 2257 | skipping to change at line 2275 | |||
# to edit. Admin users can edit all per-host config variables, | # to edit. Admin users can edit all per-host config variables, | |||
# even if disabled in this list. | # even if disabled in this list. | |||
# | # | |||
# SECURITY WARNING: Do not let users edit any of the Cmd | # SECURITY WARNING: Do not let users edit any of the Cmd | |||
# config variables! That's because a user could set a | # config variables! That's because a user could set a | |||
# Cmd to a shell script of their choice and it will be | # Cmd to a shell script of their choice and it will be | |||
# run as the BackupPC user. That script could do all | # run as the BackupPC user. That script could do all | |||
# sorts of bad things. | # sorts of bad things. | |||
# | # | |||
$Conf{CgiUserConfigEdit} = { | $Conf{CgiUserConfigEdit} = { | |||
ArchiveClientCmd => 0, | ArchiveClientCmd => 0, | |||
ArchiveComp => 1, | ArchiveComp => 1, | |||
ArchiveDest => 1, | ArchiveDest => 1, | |||
ArchiveInfoKeepCnt => 1, | ArchiveInfoKeepCnt => 1, | |||
ArchivePar => 1, | ArchivePar => 1, | |||
ArchivePostUserCmd => 0, | ArchivePostUserCmd => 0, | |||
ArchivePreUserCmd => 0, | ArchivePreUserCmd => 0, | |||
ArchiveSplit => 1, | ArchiveSplit => 1, | |||
BackupFilesExclude => 1, | BackupFilesExclude => 1, | |||
BackupFilesOnly => 1, | BackupFilesOnly => 1, | |||
BackupsDisable => 1, | BackupsDisable => 1, | |||
BackupZeroFilesIsFatal => 1, | BackupZeroFilesIsFatal => 1, | |||
BlackoutBadPingLimit => 1, | BlackoutBadPingLimit => 1, | |||
BlackoutGoodCnt => 1, | BlackoutGoodCnt => 1, | |||
BlackoutPeriods => 1, | BlackoutPeriods => 1, | |||
ClientCharset => 1, | ClientCharset => 1, | |||
ClientCharsetLegacy => 1, | ClientCharsetLegacy => 1, | |||
ClientComment => 1, | ClientComment => 1, | |||
ClientNameAlias => 1, | ClientNameAlias => 1, | |||
ClientShareName2Path => 1, | ClientShareName2Path => 1, | |||
ClientTimeout => 1, | ClientTimeout => 1, | |||
CompressLevel => 1, | CompressLevel => 1, | |||
DumpPostShareCmd => 0, | DumpPostShareCmd => 0, | |||
DumpPostUserCmd => 0, | DumpPostUserCmd => 0, | |||
DumpPreShareCmd => 0, | DumpPreShareCmd => 0, | |||
DumpPreUserCmd => 0, | DumpPreUserCmd => 0, | |||
EMailAdminSubject => 0, | EMailAdminSubject => 0, | |||
EMailAdminUserName => 0, | EMailAdminUserName => 0, | |||
EMailFromUserName => 1, | EMailFromUserName => 1, | |||
EMailHeaders => 1, | EMailHeaders => 1, | |||
EMailNoBackupEverMesg => 1, | EMailNoBackupEverMesg => 1, | |||
EMailNoBackupEverSubj => 1, | EMailNoBackupEverSubj => 1, | |||
EMailNoBackupRecentMesg => 1, | EMailNoBackupRecentMesg => 1, | |||
EMailNoBackupRecentSubj => 1, | EMailNoBackupRecentSubj => 1, | |||
EMailNotifyMinDays => 1, | EMailNotifyMinDays => 1, | |||
EMailNotifyOldBackupDays => 1, | EMailNotifyOldBackupDays => 1, | |||
EMailNotifyOldOutlookDays => 1, | EMailNotifyOldOutlookDays => 1, | |||
EMailOutlookBackupMesg => 1, | EMailOutlookBackupMesg => 1, | |||
EMailOutlookBackupSubj => 1, | EMailOutlookBackupSubj => 1, | |||
EMailUserDestDomain => 1, | EMailUserDestDomain => 1, | |||
FillCycle => 1, | FillCycle => 1, | |||
FixedIPNetBiosNameCheck => 1, | FixedIPNetBiosNameCheck => 1, | |||
FtpBlockSize => 1, | FtpBlockSize => 1, | |||
FtpFollowSymlinks => 1, | FtpFollowSymlinks => 1, | |||
FtpPasswd => 1, | FtpPasswd => 1, | |||
FtpPort => 1, | FtpPort => 1, | |||
FtpRestoreEnabled => 1, | FtpRestoreEnabled => 1, | |||
FtpShareName => 1, | FtpShareName => 1, | |||
FtpTimeout => 1, | FtpTimeout => 1, | |||
FtpUserName => 1, | FtpUserName => 1, | |||
FullAgeMax => 1, | FullAgeMax => 1, | |||
FullKeepCnt => 1, | FullKeepCnt => 1, | |||
FullKeepCntMin => 1, | FullKeepCntMin => 1, | |||
FullPeriod => 1, | FullPeriod => 1, | |||
IncrAgeMax => 1, | IncrAgeMax => 1, | |||
IncrKeepCnt => 1, | IncrKeepCnt => 1, | |||
IncrKeepCntMin => 1, | IncrKeepCntMin => 1, | |||
IncrPeriod => 1, | IncrPeriod => 1, | |||
MaxOldPerPCLogFiles => 1, | MaxOldPerPCLogFiles => 1, | |||
NmbLookupCmd => 0, | NmbLookupCmd => 0, | |||
NmbLookupFindHostCmd => 0, | NmbLookupFindHostCmd => 0, | |||
PingCmd => 0, | PingCmd => 0, | |||
PingMaxMsec => 1, | PingMaxMsec => 1, | |||
RefCntFsck => 1, | RefCntFsck => 1, | |||
RestoreInfoKeepCnt => 1, | RestoreInfoKeepCnt => 1, | |||
RestorePostUserCmd => 0, | RestorePostUserCmd => 0, | |||
RestorePreUserCmd => 0, | RestorePreUserCmd => 0, | |||
RsyncArgs => 1, | RsyncArgs => 1, | |||
RsyncArgsExtra => 1, | RsyncArgsExtra => 1, | |||
RsyncBackupPCPath => 0, | RsyncBackupPCPath => 0, | |||
RsyncClientPath => 0, | RsyncClientPath => 0, | |||
RsyncdClientPort => 1, | RsyncdClientPort => 1, | |||
RsyncdPasswd => 1, | RsyncdPasswd => 1, | |||
RsyncdUserName => 1, | RsyncdUserName => 1, | |||
RsyncFullArgsExtra => 1, | RsyncFullArgsExtra => 1, | |||
RsyncIncrArgsExtra => 1, | RsyncIncrArgsExtra => 1, | |||
RsyncRestoreArgs => 1, | RsyncRestoreArgs => 1, | |||
RsyncShareName => 1, | RsyncRestoreArgsExtra => 1, | |||
RsyncSshArgs => 1, | RsyncShareName => 1, | |||
SmbClientFullCmd => 0, | RsyncSshArgs => 1, | |||
SmbClientIncrCmd => 0, | SmbClientFullCmd => 0, | |||
SmbClientPath => 0, | SmbClientIncrCmd => 0, | |||
SmbClientRestoreCmd => 0, | SmbClientPath => 0, | |||
SmbShareName => 1, | SmbClientRestoreCmd => 0, | |||
SmbSharePasswd => 1, | SmbShareName => 1, | |||
SmbShareUserName => 1, | SmbSharePasswd => 1, | |||
TarClientCmd => 0, | SmbShareUserName => 1, | |||
TarClientPath => 0, | TarClientCmd => 0, | |||
TarClientRestoreCmd => 0, | TarClientPath => 0, | |||
TarFullArgs => 1, | TarClientRestoreCmd => 0, | |||
TarIncrArgs => 1, | TarFullArgs => 1, | |||
TarShareName => 1, | TarIncrArgs => 1, | |||
UserCmdCheckStatus => 0, | TarShareName => 1, | |||
XferLogLevel => 1, | UserCmdCheckStatus => 0, | |||
XferMethod => 1, | XferLogLevel => 1, | |||
XferMethod => 1, | ||||
}; | }; | |||
End of changes. 25 change blocks. | ||||
185 lines changed or deleted | 206 lines changed or added |