#
$Conf{MaxPendingCmds} = 10;
+#
+# How many BackupPC_nightly processes to run in parallel.
+#
+# Each night, at the first wakeup listed in $Conf{WakeupSchedule},
+# BackupPC_nightly is run. Its job is to remove unneeded files
+# in the pool, ie: files that only have one link. To avoid race
+# conditions, BackupPC_nightly runs only when there are no backups
+# running, and no backups will start while it runs.
+#
+# So to reduce the elapsed time, you might want to increase this
+# setting to run several BackupPC_nightly processes in parallel
+# (eg: 4, or even 8).
+#
+$Conf{MaxBackupPCNightlyJobs} = 2;
+
+#
+# How many days (runs) it takes BackupPC_nightly to traverse the
+# entire pool. Normally this is 1, which means every night it runs,
+# it does traverse the entire pool removing unused pool files.
+#
+# Other valid values are 2, 4, 8, 16. This causes BackupPC_nightly to
+# traverse 1/2, 1/4, 1/8 or 1/16th of the pool each night, meaning it
+# takes 2, 4, 8 or 16 days to completely traverse the pool. The
+# advantage is that each night the running time of BackupPC_nightly
+# is reduced roughly in proportion, since the total job is split
+# over multiple days. The disadvantage is that unused pool files
+# take longer to get deleted, which will slightly increase disk
+# usage.
+#
+# Note that even when $Conf{BackupPCNightlyPeriod} > 1, BackupPC_nightly
+# still runs every night. It just does less work each time it runs.
+#
+# Examples:
+#
+# $Conf{BackupPCNightlyPeriod} = 1; # entire pool is checked every night
+#
+# $Conf{BackupPCNightlyPeriod} = 2; # two days to complete pool check
+# # (different half each night)
+#
+# $Conf{BackupPCNightlyPeriod} = 4; # four days to complete pool check
+# # (different quarter each night)
+#
+$Conf{BackupPCNightlyPeriod} = 1;
+
#
# Maximum number of log files we keep around in log directory.
# These files are aged nightly. A setting of 14 means the log
#
$Conf{SplitPath} = '/usr/bin/split';
-$Conf{ParPath} = '/usr/bin/par';
+$Conf{ParPath} = '/usr/bin/par2';
$Conf{CatPath} = '/bin/cat';
$Conf{GzipPath} = '/bin/gzip';
$Conf{Bzip2Path} = '/usr/bin/bzip2';
# apart), and then 2 at an interval of 32 * $Conf{FullPeriod} (approx
# 7-8 months apart).
#
-# Note that you will have to increase $Conf{FullAgeMax} if you want
-# very old full backups to be kept. Full backups are removed according
-# to both $Conf{FullKeepCnt} and $Conf{FullAgeMax}.
-#
-# Note also that these two settings are equivalent and both keep just
+# Example: these two settings are equivalent and both keep just
# the four most recent full dumps:
#
# $Conf{FullKeepCnt} = 4;
# we keep at least $Conf{FullKeepCntMin} full backups no matter how old
# they are.
#
+# Note that $Conf{FullAgeMax} will be increased to $Conf{FullAgeMax}
+# times $Conf{FullPeriod} if $Conf{FullAgeMax} specifies enough
+# full backups to exceed $Conf{FullAgeMax}.
+#
$Conf{FullKeepCntMin} = 1;
$Conf{FullAgeMax} = 90;
$Conf{IncrKeepCntMin} = 1;
$Conf{IncrAgeMax} = 30;
+#
+# A failed full backup is saved as a partial backup. The rsync
+# XferMethod can take advantage of the partial full when the next
+# backup is run. This parameter sets the age of the partial full
+# in days: if the partial backup is older than this number of
+# days, then rsync will ignore (not use) the partial full when
+# the next backup is run. If you set this to a negative value
+# then no partials will be saved. If you set this to 0, partials
+# will be saved, but will not be used by the next backup.
+#
+# The default setting of 3 days means that a partial older than
+# 3 days is ignored when the next full backup is done.
+#
+$Conf{PartialAgeMax} = 3;
+
#
# Whether incremental backups are filled. "Filling" means that the
# most recent full (or filled) dump is merged into the new incremental
# to give a list of directories or files to backup for each share
# (the share name is the key). If this is set to just a string or
# array, and $Conf{SmbShareName} contains multiple share names, then
-# the setting is assumed to apply to only the first share name.
+# the setting is assumed to apply all shares.
#
# Examples:
# $Conf{BackupFilesOnly} = '/myFiles';
# to give a list of directories or files to exclude for each share
# (the share name is the key). If this is set to just a string or
# array, and $Conf{SmbShareName} contains multiple share names, then
-# the setting is assumed to apply to only the first share name.
+# the setting is assumed to apply to all shares.
#
# The exact behavior is determined by the underlying transport program,
# smbclient or tar. For smbclient the exlclude file list is passed into
#
$Conf{RsyncdAuthRequired} = 1;
+#
+# When rsync checksum caching is enabled (by adding the
+# --checksum-seed=32761 option to $Conf{RsyncArgs}), the cached
+# checksums can be occaisonally verified to make sure the file
+# contents matches the cached checksums. This is to avoid the
+# risk that disk problems might cause the pool file contents to
+# get corrupted, but the cached checksums would make BackupPC
+# think that the file still matches the client.
+#
+# This setting is the probability (0 means never and 1 means always)
+# that a file will be rechecked. Setting it to 0 means the checksums
+# will not be rechecked (unless there is a phase 0 failure). Setting
+# it to 1 (ie: 100%) means all files will be checked, but that is
+# not a desirable setting since you are better off simply turning
+# caching off (ie: remove the --checksum-seed option).
+#
+# The default of 0.01 means 1% (on average) of the files during a full
+# backup will have their cached checksum re-checked.
+#
+# This setting has no effect unless checksum caching is turned on.
+#
+$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.
#
# If you are using a patched client rsync that supports the
- # --fixed-csumseed option (see http://backuppc.sourceforge.net),
+ # --checksum-seed option (see http://backuppc.sourceforge.net),
# then uncomment this to enabled rsync checksum cachcing
#
- #'--fixed-csumseed',
+ #'--checksum-seed=32761',
#
# Add additional arguments here
#
# If you are using a patched client rsync that supports the
- # --fixed-csumseed option (see http://backuppc.sourceforge.net),
+ # --checksum-seed option (see http://backuppc.sourceforge.net),
# then uncomment this to enabled rsync checksum cachcing
#
- #'--fixed-csumseed',
+ #'--checksum-seed=32761',
#
# Add additional arguments here
#
# Archive Parity Files
#
-# The number of Parity Files to generate.
-# Uses the commandline par available from
+# The amount of Parity data to generate, as a percentage
+# of the archive size.
+# Uses the commandline par2 (par2cmdline) available from
# http://parchive.sourceforge.net
#
# Only useful for file dumps.
# 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.
+#
+# If the value is 0, or if $Conf{ArchiveDest} is an existing file or
+# device (e.g. a streaming tape drive), this feature is disabled.
#
$Conf{ArchiveSplit} = 650;
# $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
+# $parpath The path to the par2 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
+# $parfile The amount of parity data to create (percentage)
#
$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost'
. ' $tarCreatePath $splitpath $parpath $host $backupnumber'
# $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
+# $parfile amount of parity data being generated (percentage)
# $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
#
# Language to use. See lib/BackupPC/Lang for the list of supported
# languages, which include English (en), French (fr), Spanish (es),
-# German (de), and Italian (it).
+# German (de), Italian (it) and Dutch (nl).
#
# Currently the Language setting applies to the CGI interface and email
# messages sent to users. Log files and other text are still in English.
#
$Conf{CgiNavBarAdminAllHosts} = 1;
+#
+# Enable/disable the search box in the navigation bar.
+#
+$Conf{CgiSearchBoxEnable} = 1;
+
+#
+# Additional navigation bar links. These appear for both regular users
+# and administrators. This is a list of hashes giving the link (URL)
+# and the text (name) for the link. Specifying lname instead of name
+# uses the language specific string (ie: $Lang->{lname}) instead of
+# just literally displaying name.
+#
+$Conf{CgiNavBarLinks} = [
+ {
+ link => "?action=view&type=docs",
+ lname => "Documentation", # actually displays $Lang->{Documentation}
+ },
+ {
+ link => "http://backuppc.sourceforge.net/faq",
+ name => "FAQ", # displays literal "FAQ"
+ },
+ {
+ link => "http://backuppc.sourceforge.net",
+ name => "SourceForge", # displays literal "SourceForge"
+ },
+];
+
#
# Hilight colors based on status that are used in the PC summary page.
#