* Commit for 2.1.0.
[BackupPC.git] / conf / config.pl
index d8bf145..55e1f3c 100644 (file)
@@ -467,11 +467,7 @@ $Conf{IncrPeriod} = 0.97;
 # 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;
@@ -484,6 +480,10 @@ $Conf{FullKeepCnt} = 1;
 # 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;
 
@@ -504,6 +504,21 @@ $Conf{IncrKeepCnt} = 6;
 $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
@@ -566,7 +581,7 @@ $Conf{ArchiveInfoKeepCnt} = 10;
 # 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';
@@ -591,7 +606,7 @@ $Conf{BackupFilesOnly} = undef;
 # 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
@@ -760,7 +775,7 @@ $Conf{XferLogLevel} = 1;
 $Conf{SmbClientPath} = '/usr/bin/smbclient';
 
 #
-# Commands to run smbclient for a full dump, incremental dump or a restore.
+# Command to run smbclient for a full dump.
 # This setting only matters if $Conf{XferMethod} = 'smb'.
 #
 # The following variables are substituted at run-time:
@@ -775,18 +790,30 @@ $Conf{SmbClientPath} = '/usr/bin/smbclient';
 #    $X_option        exclude option (if $fileList is an exclude list)
 #    $timeStampFile   start time for incremental dump
 #
-# If your smb share is read-only then direct restores will fail.
-# You should set $Conf{SmbClientRestoreCmd} to undef and the
-# corresponding CGI restore option will be removed.
-#
 $Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName'
            . ' $I_option -U $userName -E -N -d 1'
             . ' -c tarmode\\ full -Tc$X_option - $fileList';
 
+#
+# Command to run smbclient for an incremental dump.
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+# Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
+#
 $Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName'
            . ' $I_option -U $userName -E -N -d 1'
            . ' -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList';
 
+#
+# Command to run smbclient for a restore.
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+# Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
+#
+# If your smb share is read-only then direct restores will fail.
+# You should set $Conf{SmbClientRestoreCmd} to undef and the
+# corresponding CGI restore option will be removed.
+#
 $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName'
             . ' $I_option -U $userName -E -N -d 1'
             . ' -c tarmode\\ full -Tx -';
@@ -980,6 +1007,29 @@ $Conf{RsyncdPasswd} = '';
 #
 $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.
@@ -1010,10 +1060,10 @@ $Conf{RsyncArgs} = [
 
            #
            # 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
@@ -1046,10 +1096,10 @@ $Conf{RsyncRestoreArgs} = [
 
            #
            # 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
@@ -1097,8 +1147,11 @@ $Conf{ArchivePar} = 0;
 # 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;
+$Conf{ArchiveSplit} = 0;
 
 #
 # Archive Command
@@ -1323,6 +1376,7 @@ $Conf{MaxOldPerPCLogFiles} = 12;
 #        $shares       list of all the share names
 #        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
 #        $sshPath      value of $Conf{SshPath},
+#        $cmdType      set to DumpPreUserCmd or DumpPostUserCmd
 #
 # The following variable substitutions are made at run time for
 # $Conf{RestorePreUserCmd} and $Conf{RestorePostUserCmd}:
@@ -1344,6 +1398,7 @@ $Conf{MaxOldPerPCLogFiles} = 12;
 #        $pathHdrSrc   common starting path of restore source
 #        $pathHdrDest  common starting path of destination
 #        $fileList     list of files being restored
+#        $cmdType      set to RestorePreUserCmd or RestorePostUserCmd
 #
 # The following variable substitutions are made at run time for
 # $Conf{ArchivePreUserCmd} and $Conf{ArchivePostUserCmd}:
@@ -1363,6 +1418,7 @@ $Conf{MaxOldPerPCLogFiles} = 12;
 #        $splitsize    size of the files that the archive creates
 #        $sshPath      value of $Conf{SshPath},
 #        $type         set to "archive"
+#        $cmdType      set to ArchivePreUserCmd or ArchivePostUserCmd
 #
 $Conf{DumpPreUserCmd}     = undef;
 $Conf{DumpPostUserCmd}    = undef;
@@ -1560,7 +1616,7 @@ $Conf{CgiURL} = undef;
 #   
 # 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.
@@ -1605,6 +1661,33 @@ $Conf{CgiDateFormatMMDD} = 1;
 #
 $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.
 #