#
# The default value is every hour except midnight.
#
+# The first entry of $Conf{WakeupSchedule} is when BackupPC_nightly
+# is run. No other backups can run while BackupPC_nightly is
+# running. You might want to re-arrange the entries in
+# $Conf{WakeupSchedule} (they don't have to be ascending) so that
+# the first entry is when you want BackupPC_nightly to run
+# (eg: when you don't expect a lot of regular backups to run).
+#
$Conf{WakeupSchedule} = [1..23];
#
#
$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';
# 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;
#
'--times',
'--block-size=2048',
'--recursive',
+
+ #
+ # If you are using a patched client rsync that supports the
+ # --fixed-csumseed option (see http://backuppc.sourceforge.net),
+ # then uncomment this to enabled rsync checksum cachcing
+ #
+ #'--fixed-csumseed',
+
#
# Add additional arguments here
#
#
# Do not edit these!
#
- "--numeric-ids",
- "--perms",
- "--owner",
- "--group",
- "--devices",
- "--links",
- "--times",
- "--block-size=2048",
- "--relative",
- "--ignore-times",
- "--recursive",
+ '--numeric-ids',
+ '--perms',
+ '--owner',
+ '--group',
+ '--devices',
+ '--links',
+ '--times',
+ '--block-size=2048',
+ '--relative',
+ '--ignore-times',
+ '--recursive',
+
+ #
+ # If you are using a patched client rsync that supports the
+ # --fixed-csumseed option (see http://backuppc.sourceforge.net),
+ # then uncomment this to enabled rsync checksum cachcing
+ #
+ #'--fixed-csumseed',
+
#
# 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.
# $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
#
# If set, the complete list of hosts appears in the left navigation
-# bar for administrators. Otherwise, just the hosts for which the
-# user is listed in the host file (as either the user or in moreUsers)
+# bar pull-down for administrators. Otherwise, just the hosts for which
+# the user is listed in the host file (as either the user or in moreUsers)
# are displayed.
#
-$Conf{CgiNavBarAdminAllHosts} = 0;
+$Conf{CgiNavBarAdminAllHosts} = 1;
#
# Hilight colors based on status that are used in the PC summary page.
$Conf{CgiImageDirURL} = '';
#
-# CSS stylesheet for the CGI interface.
-#
-$Conf{CSSstylesheet} = <<'EOF';
-<style type="text/css">
-body {
- font-family:arial,sans-serif;
- font-size:1em;
- background-color:#ffffff;
- margin:2px 5px 0px 2px;
- height:100%
-}
-
-h1 {
- font-family:arial,sans-serif;
- font-size:1.5em;
- color:#000000
-}
-
-h2 {
- font-family:arial,sans-serif;
- font-size:1em;
- color:#000000
-}
-
-p {
- font-family:arial,sans-serif;
- font-size:.9em
-}
-
-a {
- font-family:arial,sans-serif;
- color:#3333ff
-}
-
-li {
- font-size:.9em;
-}
-
-a:hover {
- color:#cc0000;
- text-decoration:none
-}
-
-a.NavCurrent {
- font-weight:bold;
-}
-
-a.navbar {
- padding-left:5px;
- padding-right:5px;
-}
-
-.h1 {
- font-family:arial,sans-serif;
- font-size:1.5em;
- color:#000000;
- font-weight:bold;
- background-color:#99cc33;
- padding:3px;
- padding-left:6px;
- margin-bottom:5px;
-}
-
-.h2 {
- font-family:arial,sans-serif;
- font-size:1em;
- color:#000000;
- font-weight:bold;
- background-color:#ddeeee;
- padding:3px;
- padding-left:6px;
- margin-top:3px;
- margin-bottom:1px;
-}
-
-.tableStnd {
-}
-
-.tableheader {
- font-size:.8em;
- font-weight:bold;
- background-color:#cccccc;
-}
-
-.border {
- font-size:.9em;
-}
-
-.fviewheader {
- font-weight:bold;
- font-size:.8em;
- color:#ffffff;
- background-color:#999999;
-}
-
-.fviewborder {
- border-bottom:1px solid #000000;
- border-left:1px dotted #666666;
- background-color:#dddddd;
- font-size:.9em;
-}
-
-.fviewon {
- background-color:#cccccc;
-}
-
-.fviewoff {
- background-color:#ffffff;
-}
-
-.fview {
- font-size:.8em;
- font-family:arial,sans-serif;
- text-decoration:none;
- line-height:15px;
-}
-
-.fviewbold {
- font-size:.9em;
- font-family:arial,sans-serif;
- text-decoration:none;
- line-height:15px;
- font-weight:bold;
-}
-
-.histView {
- border-bottom:1px solid #000000;
- border-left:2px solid #ffffff;
- background-color:#dddddd;
- font-size:.9em;
-}
-
-.histViewMis {
- border-bottom:1px solid #000000;
- background-color:#ffdddd;
-}
-
-div.NavMenu {
- width:18%;
- margin:0px;
- background-color:#ddeeee;
-}
-
-div.NavMenu a {
- font-size:.8em;
- display:block;
- margin-left:8px;
- padding:2px;
-}
-
-div.NavTitle {
- padding-left:10px;
- background-color:#99cc33;
- font-family:arial,sans-serif;
- color:#000000;
- font-weight:bold;
- margin-bottom:2px;
-}
-
-#Content {
- float:right;
- width:80%;
- left:20%;
- top:10px;
- position:absolute;
-}
-</style>
-EOF
+# CSS stylesheet for the CGI interface. It is stored in the
+# $Conf{CgiImageDir} directory and accessed via the
+# $Conf{CgiImageDirURL} URL.
+#
+$Conf{CgiCSSFile} = 'BackupPC_stnd.css';