# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-2007 Craig Barratt
+# Copyright (C) 2001-2009 Craig Barratt
#
# See http://backuppc.sourceforge.net.
#
# This limit is to make sure BackupPC doesn't fall too far behind in
# running BackupPC_link commands.
#
-$Conf{MaxPendingCmds} = 10;
+$Conf{MaxPendingCmds} = 15;
+
+#
+# Nice level at which CmdQueue commands (eg: BackupPC_link and
+# BackupPC_nightly) are run at.
+#
+$Conf{CmdQueueNice} = 10;
#
# How many BackupPC_nightly processes to run in parallel.
# with configure.pl to change InstallDir.
# CgiDir - Apache CGI directory for BackupPC_Admin
#
+# Note: it is STRONGLY recommended that you don't change the
+# values here. These are set at installation time and are here
+# for reference and are used during upgrades.
+#
+# Instead of changing TopDir here it is recommended that you use
+# a symbolic link to the new location, or mount the new BackupPC
+# store at the existing $Conf{TopDir} setting.
+#
$Conf{TopDir} = '';
$Conf{ConfDir} = '';
$Conf{LogDir} = '';
# Users report that for smbclient you should specify a directory
# followed by "/*", eg: "/proc/*", instead of just "/proc".
#
+# FTP servers are traversed recursively so excluding directories will
+# also exclude its contents. You can use the wildcard characters "*"
+# and "?" to define files for inclusion and exclusion. Both
+# attributes $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} can
+# be defined for the same share.
+#
# If a hash is used, a special key "*" means it applies to all
# shares that don't have a specific entry.
#
# Arguments to rsync for backup. Do not edit the first set unless you
# have a thorough understanding of how File::RsyncP works.
#
-# Examples of additional arguments that should work are --exclude/--include,
-# eg:
-#
-# $Conf{RsyncArgs} = [
-# # original arguments here
-# '-v',
-# '--exclude', '/proc',
-# '--exclude', '*.tmp',
-# ];
-#
$Conf{RsyncArgs} = [
#
# Do not edit these!
# to enable checksum caching.
#
#'--checksum-seed=32761',
-
- #
- # Add additional arguments here
- #
];
+#
+# Additional arguments added to RsyncArgs. This can be used in
+# conbination with $Conf{RsyncArgs} to allow customization of
+# the rsync arguments on a part-client basis. The standard
+# arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra}
+# can be set on a per-client basis.
+#
+# Examples of additional arguments that should work are --exclude/--include,
+# eg:
+#
+# $Conf{RsyncArgsExtra} = [
+# '--exclude', '/proc',
+# '--exclude', '*.tmp',
+# ];
+#
+# Both $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} are subject
+# to the following variable substitutions:
+#
+# $client client name being backed up
+# $host host name (could be different from client name if
+# $Conf{ClientNameAlias} is set)
+# $hostIP IP address of host
+# $confDir configuration directory path
+#
+# This allows settings of the form:
+#
+# $Conf{RsyncArgsExtra} = [
+# '--exclude-from=$confDir/pc/$host.exclude',
+# ];
+#
+$Conf{RsyncArgsExtra} = [];
+
#
# Arguments to rsync for restore. Do not edit the first set unless you
# have a thorough understanding of how File::RsyncP works.
# is read-only), you should set $Conf{RsyncRestoreArgs} to undef and
# the corresponding CGI restore option will be removed.
#
+# $Conf{RsyncRestoreArgs} is subject to the following variable
+# substitutions:
+#
+# $client client name being backed up
+# $host host name (could be different from client name if
+# $Conf{ClientNameAlias} is set)
+# $hostIP IP address of host
+# $confDir configuration directory path
+#
+# Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}.
+#
$Conf{RsyncRestoreArgs} = [
#
# Do not edit these!
# (can be overwritten in the per-PC log file)
##########################################################################
#
-# Name of the host share that is backed up 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.
-# Examples:
#
-# $Conf{FtpShareName} = 'c'; # backup 'c' share
-# $Conf{FtpShareName} = ['c', 'd']; # backup 'c' and 'd' shares
+# 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
+# path of the directory.
+#
+# In the following example, if the directory /home/username is the
+# root share of the ftp server with the given username, the following
+# two values will back up the same directory:
+#
+# $Conf{FtpShareName} = 'www'; # www directory
+# $Conf{FtpShareName} = '/home/username/www'; # same directory
+#
+# Path resolution is not supported; i.e.; you may not have an ftp
+# share path defined as '../otheruser' or '~/games'.
+#
+# Multiple shares may also be specified, as with other protocols:
+#
+# $Conf{FtpShareName} = [ 'www',
+# 'bin',
+# 'config' ];
+#
+# Note also that you can also use $Conf{BackupFilesOnly} to specify
+# a specific list of directories to backup. It's more efficient to
+# use this option instead of $Conf{FtpShareName} since a new tar is
+# run for each entry in $Conf{FtpShareName}.
#
# This setting only matters if $Conf{XferMethod} = 'ftp'.
#
#
$Conf{FtpPasswd} = '';
+#
+# Whether passive mode is used. The correct setting depends upon
+# whether local or remote ports are accessible from the other machine,
+# which is affected by any firewall or routers between the FTP server
+# on the client and the BackupPC server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPassive} = 1;
+
#
# Transfer block size. This sets the size of the amounts of data in
# each frame. While undefined, this value takes the default value.
#
$Conf{FtpFollowSymlinks} = 0;
-
-###########################################################################
-# BackupPCd Configuration
-# (can be overwritten in the per-PC log file)
-###########################################################################
-#
-# Share name to backup. For $Conf{XferMethod} = "backuppcd" this should
-# be a file system path, eg '/' or '/home'.
-#
-# This can also be a list of multiple file system paths or modules.
-# (Can it??)
-#
-# $Conf{BackupPCdShareName} = ['/', '/var', '/data', '/boot'];
-#
-$Conf{BackupPCdShareName} = '/';
-
-#
-# Path to backuppcd executable on the server
-#
-$Conf{BackupPCdPath} = '';
-
-#
-# Full command to run backuppcd on the server to backup a given
-# client machine. The following variables are substituted at
-# run-time (TODO: update this list)
-#
-# $host host name being backed up
-# $hostIP host's IP address
-# $shareName share name to backup (ie: top-level directory path)
-# $backuppcdPath same as $Conf{BackupPCdPath}
-# $sshPath same as $Conf{SshPath}
-#
-# This setting only matters if $Conf{XferMethod} = 'backuppcd'.
-#
-# Arguments to backupcpd are:
-#
-# - the host name to backup
-# - the share name to backup
-# - the directory where the pool is
-# - the directory where the last run was (NOT DONE YET)
-# - a boolean value indicating whether or not the pool is
-# compressed or not
-# - the directory where the new run should occur (currently it assumes ".")
-#
-$Conf{BackupPCdCmd} = '$bpcdPath $host $shareName $poolDir XXXX $poolCompress $topDir/pc/$client/new';
-
-#
-# Full command to run backuppcd on the server for restore to a
-# client machine. The following variables are substituted at
-# run-time (TODO: update this list)
-#
-# $host host name being backed up
-# $hostIP host's IP address
-# $shareName share name to backup (ie: top-level directory path)
-# $backuppcdPath same as $Conf{BackupPCdPath}
-# $sshPath same as $Conf{SshPath}
-#
-# This setting only matters if $Conf{XferMethod} = 'backuppcd'.
-#
-# 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
-# redirection and pipes; put that in a script if you need it.
-#
-$Conf{BackupPCdRestoreCmd} = '$bpcdPath TODO';
-
###########################################################################
# Archive Configuration
# (can be overwritten in the per-PC log file)
$Conf{EMailOutlookBackupMesg} = undef;
#
-# Additional email headers. If you change the charset
-# to utf8 then BackupPC_sendEmail will use utf8 for
-# the email body.
+# Additional email headers. This sets to charset to
+# utf8.
#
$Conf{EMailHeaders} = <<EOF;
MIME-Version: 1.0
-Content-Type: text/plain; charset="iso-8859-1"
+Content-Type: text/plain; charset="utf-8"
EOF
###########################################################################
# used by configure.pl when you upgrade BackupPC.
#
# Example:
-# $Conf{CgiImageDir} = '/usr/local/apache/htdocs/BackupPC';
+# $Conf{CgiImageDir} = '/var/www/htdocs/BackupPC';
#
$Conf{CgiImageDir} = '';
RsyncdAuthRequired => 1,
RsyncCsumCacheVerifyProb => 1,
RsyncArgs => 1,
+ RsyncArgsExtra => 1,
RsyncRestoreArgs => 1,
RsyncClientCmd => 0,
RsyncClientRestoreCmd => 0,
FtpBlockSize => 1,
FtpPort => 1,
FtpTimeout => 1,
- BackupPCdPath => 1,
- BackupPCdShareName => 1,
- BackupPCdCmd => 1,
- BackupPCdRestoreCmd => 1,
+ FtpFollowSymlinks => 1,
+ FtpRestoreEnabled => 1,
ArchiveDest => 1,
ArchiveComp => 1,
ArchivePar => 1,
EMailOutlookBackupMesg => 1,
EMailHeaders => 1,
};
+
+
+# XXX XXX XXX XXX XXX XXX XXX
+# XXX support for search
+
+
+# add search database dsn
+#
+#$Conf{SearchDSN} = 'dbi:SQLite:dbname=$TopDir/search.db';
+$Conf{SearchDSN} = 'dbi:Pg:dbname=backuppc';
+$Conf{SearchUser} = 'dpavlin';
+#
+
+# if you want to use experimental Hyper Estraier support (which require
+# installation of Search::Estraier perl module from CPAN) select
+# path to index (relative to $TopDir) or node URI
+# use following line to disable Hyper Estraier and prevent upgrades
+# from overwriting it
+#$Conf{SearchModule} = 'BackupPC::Search::Estraier';
+#$Conf{HyperEstraierIndex} = 'http://localhost:1978/node/backuppc';
+
+# which search engine to use
+$Conf{SearchModule} = 'BackupPC::Search::KinoSearch';
+$Conf{KinoPath} = '/tmp/kinosearch';
+
+#
+# temp directory for storing gzip and iso files when createing iso images
+#
+$Conf{GzipTempDir} = "$Conf{TopDir}/temp";
+
+#
+# nameing schema for snapshots (.tar.gz will be added)
+# \h - hostname
+# \s - share
+# \n - increment numer
+#
+$Conf{GzipSchema} = '\\h_\\s_\\n';
+#
+
+#
+# archive media size (in bytes)
+# default: 4.2Gb for DVD
+#
+#$Conf{MaxArchiveSize} = 4200 * 1024 * 1024;
+$Conf{MaxArchiveSize} = 4404019200;
+
+#
+# maximum size of one (uncompressed) file on archive medium (in bytes)
+# default: 2Gb - 2k for DVD
+#$Conf{MaxArchiveFileSize} = (2048 - 2) * 1024 * 1024;
+$Conf{MaxArchiveFileSize} = 2145386496;
+
+#
+# Temporary directory for ISO images (relative to install dir)
+#
+$Conf{ISOTempDir} = 'temp/iso';
+
+####
+# configuration data for burning
+####
+#$Conf{CDRecordBin} = 'cdrecord';
+#$Conf{CDRecordOpts} = 'dev=/dev/hdc blank=fast -dao -v -eject -dummy';
+
+#$Conf{CDRecordBin} = 'dvdrecord';
+#$Conf{CDRecordOpts} = 'dev=0,0,0 -dao -v -eject -dummy';
+
+# gzip level for creating tar.gz increments
+# default is -6, -1 is fast, -9 is slow
+#$Conf{GzipLevel} = '-6';
+$Conf{GzipLevel} = '-1';
+
+# number of archive copies to burn
+$Conf{BurnMultipleCopies} = 2;
+
+# Other command-line utilities used
+#$Conf{ejectBin} = 'eject';
+#$Conf{ejectOpts} = '/dev/cdrom';
+$Conf{ejectBin} = 'true';
+$Conf{ejectOpts} = ' ';
+
+
+# FIXME disable burning
+$Conf{ejectBin} = 'true';
+$Conf{ejectOpts} = ' ';
+$Conf{CDRecordBin} = 'cat';
+$Conf{CDRecordOpts} = '>/dev/null <';
+
+
+$Conf{mkisofsBin} = 'mkisofs';
+
+# temporary path used when recovering of increments
+# (you might put this into tmpfs if you have enough RAM)
+$Conf{IncrementTempDir} = '/tmp/increment-restore/';