Welcome! » Log In » Create A New Profile

Got fatal error during xfer (chdir failed)

Posted by Anonymous 
Got fatal error during xfer (chdir failed)
March 07, 2007 06:51AM
Hello backuppc-users,

i am new to backupppc.
Anyways, I got it up and running. It backups the localhost via rsync correct, even multiple dirs.
Got rsyncd running on a windows 2003 server.
As long as I backup only one dir on the windows box via rsynd all works correct.
But as soon as I try to backup more than ond dir I got this fatal error during xfer (chdir failed).
The first dir is backuped correctly.
I inserted my rsycd.conf and my config.pl for the host below.
Maybe someone could help me.

Many thanks.

BackupPC is running on a Suse 10 SES System

Snippet from log file:
Quote

2007-03-07 15:36:03 User backuppc requested backup of necro (necro)2007-03-07 15:36:03 Started full backup on necro (pid=7077, share=Pclib)2007-03-07 15:40:24 Started full backup on necro (pid=7077, share=GsWin)2007-03-07 15:40:29 Backup failed on necro (chdir failed)2007-03-07 15:40:29 Running BackupPC_link necro (pid=7099)2007-03-07 15:40:30 Finished necro (BackupPC_link necro)


That’s my rsycd.conf


#
# A sample rsyncd.conf file usable with BackupPC. This file does not
# completely document all of the settings for rsyncd.conf - see the
# man page that comes with the rsync ditribution for a comprehensive
# overview off all available settings.
#

#
# Allow rsync to change the root directory to the module location
# upon connection of a client. This is disabled for Win32 as we do
# not provide a full Cygwin environment.
#
# Warning: with a setting of "false", absolute symlinks will be
# stripped of their leading "/". See "use chroot" in the rsyncd.conf
# man page. This is relevant for machines that support symlinks
# (WinXX machines do not).
#
use chroot = false

#
# Limit the simultaneous rsync connections to 4. Changing
# this to '1' should be sufficient for BackupPC.
#
max connections = 4

#
# Uncomment this line and change the path if
# you would like to log rsync messages.
#
# log file = c:/rsyncd/rsyncd.log

#
# The location of the rsync process ID file
#
pid file = c:/rsyncd/rsyncd.pid

#
# The locations of the rsync lock file
#
lock file = c:/rsyncd/rsyncd.lock

#
# This is where we define the rsyncd modules. Add as many directories or
# files are you wish. To backup this module using BackupPC, set
# $Conf{RsyncShareName} to "docs" in this client's config.pl.
#
[docs]
#
# Exact DOS style path to the file or directory to be rsync accessible
#
path = c:/Documents and Settings

#
# A short description of the module. This is what is printed when
# using rsync to "browse" the server for what modules are available.
#
comment = Documents and Settings

#
# Does rsyncd ensure that the secrets file is read only by the
# user running the process? If this is false then no check is
# performed (useful for Win32 systems). However, you can change
# this to "true" and make the secrets file READ ONLY by the user
# running the rysncd process. If running from the command line
# or upon login, this should be the user who is logged in. If
# running as a Win32 service, then the SYSTEM account should be
# the only account that can read the secrets file.
#
strict modes = false

#
# What user(s) have access to this module. The user(s) must be
# defined in the secrets file. A comma or space separated list.
#
# Example:
# auth users = backup, root, larry
# auth users = backup root larry
#
auth users = UUU

#
# The location of the secrets file. Permissions must be READ ONLY
# for the account running the rsyncd process unless
# strict modes = false is set above.
#
secrets file = c:/rsyncd/rsyncd.secrets

#
# What hosts are allowed access to this module? By default, all
# hosts are allowed access. If you wish to further strengthen
# the security of your setup, uncomment and replace with the IP
# address your BackupPC server. This is a flexible setting and
# can be one of:
#
# a dotted decimal IP address: 172.16.0.17
# a address/mask in the form a.b.c.d/n: 172.16.0.0/24
# an address/mask in the form ipaddr/maskaddr: 172.16.0.0/255.255.255.0
# a hostname: backupserver
# a hostname pattern using wildcards: backup*
#
# hosts allow = 172.16.0.17

#
# Only allow clients to READ from the server. This prevents uploads
# from remote machines. If you wish to allow uploads, change this too
# "true".
#
# WARNING: Setting this to true means that BackupPC restores via
# rsyncd will fail. You most likely want to set this to "false".
#
read only = true

#
# Don't list this module if a client asks (provides another modest
# layer of security since an attacker also has to guess the module
# name - you could make it obscure if you want - but remember the
# module name is sent in plain text so it can be sniffed).
#
list = false

#
# Example of how to share the entire C: drive. For BackupPC "cDrive"
# is the share name (ie: the value of $Conf{RsyncShareName}).
#
[Pclib]
path = F:/pclib
comment = Entire Drive
auth users = backuppc
secrets file = c:/rsyncd/rsyncd.secrets
# hosts allow = 172.16.0.17
strict modes = false
read only = true
list = false

[GsWin]
path = E:/GSWIN
comment = Gsauftrag
auth users = backuppc
secrets file = c:/rsyncd/rsyncd.secrets
strict modes = false
read only = true
list = false

[proto]
path = E:/proto
comment = necro proto
auth users = backuppc
secrets file = c:/rsyncd/rsyncd.secrets
strict modes = false
read only = true
list = false

and my config.pl for the win23k box :

ontents of file /BackupData/conf/necro.pl, modified 2007-03-06 18:13:36
#============================================================= -*-perl-*-
#
# Configuration file for BackupPC.
#
# DESCRIPTION
#
# This is the main configuration file for BackupPC.
#
# This file must be valid perl source, so make sure the punctuation,
# quotes, and other syntax are valid.
#
# This file is read by BackupPC at startup, when a HUP (-1) signal
# is sent to BackupPC and also at each wakeup time whenever the
# modification time of this file changes.
#
# The configuration parameters are divided into four general groups.
# The first group (general server configuration) provides general
# configuration for BackupPC. The next two groups describe what
# to backup, when to do it, and how long to keep it. The fourth
# group are settings for the CGI http interface.
#
# Configuration settings can also be specified on a per-PC basis.
# Simply put the relevant settings in a config.pl file in the
# PC's backup directory (ie: in __TOPDIR__/pc/hostName).
# All configuration settings in the second, third and fourth
# groups can be overridden by the per-PC config.pl file.
#
# AUTHOR
# Craig Barratt <cbarratt < at > users.sourceforge.net>
#
# COPYRIGHT
# Copyright (C) 2001-2003 Craig Barratt
#
# See [backuppc.sourceforge.net].
#
#========================================================================

###########################################################################
# General server configuration
###########################################################################
#
# Host name on which the BackupPC server is running.
#
$Conf{ServerHost} = 'necro-02';

#
# TCP port number on which the BackupPC server listens for and accepts
# connections. Normally this should be disabled (set to -1). The TCP
# port is only needed if apache runs on a different machine from BackupPC.
# In that case, set this to any spare port number over 1024 (eg: 2359).
# If you enable the TCP port, make sure you set $Conf{ServerMesgSecret}
# too!
#
$Conf{ServerPort} = -1;

#
# Shared secret to make the TCP port secure. Set this to a hard to guess
# string if you enable the TCP port (ie: $Conf{ServerPort} > 0).
#
# To avoid possible attacks via the TCP socket interface, every client
# message is protected by an MD5 digest. The MD5 digest includes four
# items:
# - a seed that is sent to the client when the connection opens
# - a sequence number that increments for each message
# - a shared secret that is stored in $Conf{ServerMesgSecret}
# - the message itself.
#
# The message is sent in plain text preceded by the MD5 digest. A
# snooper can see the plain-text seed sent by BackupPC and plain-text
# message from the client, but cannot construct a valid MD5 digest since
# the secret $Conf{ServerMesgSecret} is unknown. A replay attack is
# not possible since the seed changes on a per-connection and
# per-message basis.
#
$Conf{ServerMesgSecret} = '****';

#
# PATH setting for BackupPC. An explicit value is necessary
# for taint mode. Value shouldn't matter too much since
# all execs use explicit paths. However, taint mode in perl
# will complain if this directory is world writable.
#
$Conf{MyPath} = '/bin';

#
# Permission mask for directories and files created by BackupPC.
# Default value prevents any access from group other, and prevents
# group write.
#
$Conf{UmaskMode} = 027;

#
# Times at which we wake up, check all the PCs, and schedule necessary
# backups. Times are measured in hours since midnight. Can be
# fractional if necessary (eg: 4.25 means 4:15am).
#
# If the hosts you are backing up are always connected to the network
# you might have only one or two wakeups each night. This will keep
# the backup activity after hours. On the other hand, if you are backing
# up laptops that are only intermittently connected to the network you
# will want to have frequent wakeups (eg: hourly) to maximized the chance
# that each laptop is backed up.
#
# Examples:
# $Conf{WakeupSchedule} = [22.5]; # once per day at 10:30 pm.
# $Conf{WakeupSchedule} = [1..23]; # every hour except midnight
# $Conf{WakeupSchedule} = [2,4,6,8,10,12,14,16,18,20,22]; # every 2 hours
#
# 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} = [21.0];

#
# Maximum number of simultaneous backups to run. If there
# are no user backup requests then this is the maximum number
# of simultaneous backups.
#
$Conf{MaxBackups} = 4;

#
# Additional number of simultaneous backups that users can run.
# As many as $Conf{MaxBackups} + $Conf{MaxUserBackups} requests can
# run at the same time.
#
$Conf{MaxUserBackups} = 4;

#
# Maximum number of pending link commands. New backups will only be
# started if there are no more than $Conf{MaxPendingCmds} plus
# $Conf{MaxBackups} number of pending link commands, plus running jobs.
# This limit is to make sure BackupPC doesn't fall too far behind in
# running BackupPC_link commands.
#
$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
# directory will contain about 2 weeks of old log files, in
# particular at most the files LOG, LOG.0, LOG.1, ... LOG.13
# (except today's LOG, these files will have a .z extension if
# compression is on).
#
# If you decrease this number after BackupPC has been running for a
# while you will have to manually remove the older log files.
#
$Conf{MaxOldLogFiles} = 14;

#
# Full path to the df command. Security caution: normal users
# should not allowed to write to this file or directory.
#
$Conf{DfPath} = '/bin/df';

#
# Command to run df. The following variables are substituted at run-time:
#
# $dfPath path to df ($Conf{DfPath})
# $topDir top-level BackupPC data directory
#
$Conf{DfCmd} = '$dfPath $topDir';

#
# Full path to various commands for archiving
#
$Conf{SplitPath} = '/usr/bin/split';
$Conf{ParPath} = '/usr/bin/par2';
$Conf{CatPath} = '/bin/cat';
$Conf{GzipPath} = '/usr/bin/gzip';
$Conf{Bzip2Path} = '/usr/bin/bzip2';

#
# Maximum threshold for disk utilization on the __TOPDIR__ filesystem.
# If the output from $Conf{DfPath} reports a percentage larger than
# this number then no new regularly scheduled backups will be run.
# However, user requested backups (which are usually incremental and
# tend to be small) are still performed, independent of disk usage.
# Also, currently running backups will not be terminated when the disk
# usage exceeds this number.
#
$Conf{DfMaxUsagePct} = 95;

#
# How long BackupPC_trashClean sleeps in seconds between each check
# of the trash directory. Once every 5 minutes should be reasonable.
#
$Conf{TrashCleanSleepSec} = 300;

#
# List of DHCP address ranges we search looking for PCs to backup.
# This is an array of hashes for each class C address range.
# This is only needed if hosts in the conf/hosts file have the
# dhcp flag set.
#
# Examples:
# # to specify 192.10.10.20 to 192.10.10.250 as the DHCP address pool
# $Conf{DHCPAddressRanges} = [
# {
# ipAddrBase => '192.10.10',
# first => 20,
# last => 250,
# },
# ];
# # to specify two pools (192.10.10.20-250 and 192.10.11.10-50)
# $Conf{DHCPAddressRanges} = [
# {
# ipAddrBase => '192.10.10',
# first => 20,
# last => 250,
# },
# {
# ipAddrBase => '192.10.11',
# first => 10,
# last => 50,
# },
# ];
#
$Conf{DHCPAddressRanges} = [];

#
# These configuration settings aren't used by BackupPC, but simply
# remember a few settings used by configure.pl during installation.
# These are used by configure.pl when upgrading to new versions of
# BackupPC.
#
$Conf{BackupPCUser} = 'backuppc';
$Conf{CgiDir} = '/srv/www/cgi-bin';
$Conf{InstallDir} = '/BackupData';

#
# Whether BackupPC and the CGI script BackupPC_Admin verify that they
# are really running as user $Conf{BackupPCUser}. If this flag is set
# and the effective user id (euid) differs from $Conf{BackupPCUser}
# then both scripts exit with an error. This catches cases where
# BackupPC might be accidently started as root or the wrong user,
# or if the CGI script is not installed correctly.
#
$Conf{BackupPCUserVerify} = 1;

#
# Maximum number of hardlinks supported by the $TopDir file system
# that BackupPC uses. Most linux or unix file systems should support
# at least 32000 hardlinks per file, or 64000 in other cases. If a pool
# file already has this number of hardlinks, a new pool file is created
# so that new hardlinks can be accommodated. This limit will only
# be hit if an identical file appears at least this number of times
# across all the backups.
#
$Conf{HardLinkMax} = 31999;

###########################################################################
# What to backup and when to do it
# (can be overridden in the per-PC config.pl)
###########################################################################
#
#
$Conf{FullPeriod} = 6.97;
#
# Minimum period in days between incremental backups (a user requested
# incremental backup will be done anytime on demand).
#
# Typically this is set slightly less than an integer number of days. The
# time taken for the backup, plus the granularity of $Conf{WakeupSchedule}
# will make the actual backup interval a bit longer.
#
$Conf{IncrPeriod} = 0.97;

#
# Number of full backups to keep. Must be >= 1.
#
# In the steady state, each time a full backup completes successfully
# the oldest one is removed. If this number is decreased, the
# extra old backups will be removed.
#
# If filling of incremental dumps is off the oldest backup always
# has to be a full (ie: filled) dump. This might mean one or two
# extra full dumps are kept until the oldest incremental backups expire.
#
# Exponential backup expiry is also supported. This allows you to specify:
#
# - num fulls to keep at intervals of 1 * $Conf{FullPeriod}, followed by
# - num fulls to keep at intervals of 2 * $Conf{FullPeriod},
# - num fulls to keep at intervals of 4 * $Conf{FullPeriod},
# - num fulls to keep at intervals of 8 * $Conf{FullPeriod},
# - num fulls to keep at intervals of 16 * $Conf{FullPeriod},
#
# and so on. This works by deleting every other full as each expiry
# boundary is crossed.
#
# Exponential expiry is specified using an array for $Conf{FullKeepCnt}:
#
# $Conf{FullKeepCnt} = [4, 2, 3];
#
# Entry #n specifies how many fulls to keep at an interval of
# 2^n * $Conf{FullPeriod} (ie: 1, 2, 4, 8, 16, 32, ...).
#
# The example above specifies keeping 4 of the most recent full backups
# (1 week interval) two full backups at 2 week intervals, and 3 full
# backups at 4 week intervals, eg:
#
# full 0 19 weeks old
# full 1 15 weeks old >--- 3 backups at 4 * $Conf{FullPeriod}
# full 2 11 weeks old /
# full 3 7 weeks old ____ 2 backups at 2 * $Conf{FullPeriod}
# full 4 5 weeks old /
# full 5 3 weeks old
# full 6 2 weeks old ___ 4 backups at 1 * $Conf{FullPeriod}
# full 7 1 week old /
# full 8 current /
#
# On a given week the spacing might be less than shown as each backup
# ages through each expiry period. For example, one week later, a
# new full is completed and the oldest is deleted, giving:
#
# full 0 16 weeks old
# full 1 12 weeks old >--- 3 backups at 4 * $Conf{FullPeriod}
# full 2 8 weeks old /
# full 3 6 weeks old ____ 2 backups at 2 * $Conf{FullPeriod}
# full 4 4 weeks old /
# full 5 3 weeks old
# full 6 2 weeks old ___ 4 backups at 1 * $Conf{FullPeriod}
# full 7 1 week old /
# full 8 current /
#
# You can specify 0 as a count (except in the first entry), and the
# array can be as long as you wish. For example:
#
# $Conf{FullKeepCnt} = [4, 0, 4, 0, 0, 2];
#
# This will keep 10 full dumps, 4 most recent at 1 * $Conf{FullPeriod},
# followed by 4 at an interval of 4 * $Conf{FullPeriod} (approx 1 month
# apart), and then 2 at an interval of 32 * $Conf{FullPeriod} (approx
# 7-8 months apart).
#
# Example: these two settings are equivalent and both keep just
# the four most recent full dumps:
#
# $Conf{FullKeepCnt} = 4;
# $Conf{FullKeepCnt} = [4];
#
$Conf{FullKeepCnt} = 1;

#
# Very old full backups are removed after $Conf{FullAgeMax} days. However,
# 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;

#
# Number of incremental backups to keep. Must be >= 1.
#
# In the steady state, each time an incr backup completes successfully
# the oldest one is removed. If this number is decreased, the
# extra old backups will be removed.
#
$Conf{IncrKeepCnt} = 6;

#
# Very old incremental backups are removed after $Conf{IncrAgeMax} days.
# However, we keep at least $Conf{IncrKeepCntMin} incremental backups no
# matter how old they are.
#
$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
# dump using hardlinks. This makes an incremental dump look like a
# full dump. Prior to v1.03 all incremental backups were filled.
# In v1.4.0 and later the default is off.
#
# BackupPC, and the cgi interface in particular, do the right thing on
# un-filled incremental backups. It will correctly display the merged
# incremental backup with the most recent filled backup, giving the
# un-filled incremental backups a filled appearance. That means it
# invisible to the user whether incremental dumps are filled or not.
#
# Filling backups takes a little extra disk space, and it does cost
# some extra disk activity for filling, and later removal. Filling
# is no longer useful, since file mangling and compression doesn't
# make a filled backup very useful. It's likely the filling option
# will be removed from future versions: filling will be delegated to
# the display and extraction of backup data.
#
# If filling is off, BackupPC makes sure that the oldest backup is
# a full, otherwise the following incremental backups will be
# incomplete. This might mean an extra full backup has to be
# kept until the following incremental backups expire.
#
# The default is off. You can turn this on or off at any
# time without affecting existing backups.
#
$Conf{IncrFill} = 0;

#
# Number of restore logs to keep. BackupPC remembers information about
# each restore request. This number per client will be kept around before
# the oldest ones are pruned.
#
# Note: files/dirs delivered via Zip or Tar downloads don't count as
# restores. Only the first restore option (where the files and dirs
# are written to the host) count as restores that are logged.
#
$Conf{RestoreInfoKeepCnt} = 10;

#
# Number of archive logs to keep. BackupPC remembers information
# about each archive request. This number per archive client will
# be kept around before the oldest ones are pruned.
#
$Conf{ArchiveInfoKeepCnt} = 10;

#
# List of directories or files to backup. If this is defined, only these
# directories or files will be backed up.
#
# For Smb, only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
# can be specified per share. If both are set for a particular share, then
# $Conf{BackupFilesOnly} takes precedence and $Conf{BackupFilesExclude}
# is ignored.
#
# This can be set to a string, an array of strings, or, in the case
# of multiple shares, a hash of strings or arrays. A hash is used
# 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 all shares.
#
# Examples:
# $Conf{BackupFilesOnly} = '/myFiles';
# $Conf{BackupFilesOnly} = ['/myFiles']; # same as first example
# $Conf{BackupFilesOnly} = ['/myFiles', '/important'];
# $Conf{BackupFilesOnly} = {
# 'c' => ['/myFiles', '/important'], # these are for 'c' share
# 'd' => ['/moreFiles', '/archive'], # these are for 'd' share
# };
#
# $Conf{BackupFilesOnly} = ['/home', '/var'];

#
# List of directories or files to exclude from the backup. For Smb,
# only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
# can be specified per share. If both are set for a particular share,
# then $Conf{BackupFilesOnly} takes precedence and
# $Conf{BackupFilesExclude} is ignored.
#
# This can be set to a string, an array of strings, or, in the case
# of multiple shares, a hash of strings or arrays. A hash is used
# 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 all shares.
#
# The exact behavior is determined by the underlying transport program,
# smbclient or tar. For smbclient the exlclude file list is passed into
# the X option. Simple shell wild-cards using "*" or "?" are allowed.
#
# For tar, if the exclude file contains a "/" it is assumed to be anchored
# at the start of the string. Since all the tar paths start with "./",
# BackupPC prepends a "." if the exclude file starts with a "/". Note
# that GNU tar version >= 1.13.7 is required for the exclude option to
# work correctly. For linux or unix machines you should add
# "/proc" to $Conf{BackupFilesExclude} unless you have specified
# --one-file-system in $Conf{TarClientCmd} or --one-file-system in
# $Conf{RsyncArgs}. Also, for tar, do not use a trailing "/" in
# the directory name: a trailing "/" causes the name to not match
# and the directory will not be excluded.
#
# Users report that for smbclient you should specify a directory
# followed by "/*", eg: "/proc/*", instead of just "/proc".
#
# Examples:
# $Conf{BackupFilesExclude} = '/temp';
# $Conf{BackupFilesExclude} = ['/temp']; # same as first example
# $Conf{BackupFilesExclude} = ['/temp', '/winnt/tmp'];
# $Conf{BackupFilesExclude} = {
# 'c' => ['/temp', '/winnt/tmp'], # these are for 'c' share
# 'd' => ['/junk', '/dont_back_this_up'], # these are for 'd' share
# };
#
$Conf{BackupFilesExclude} = '/temp';

#
# PCs that are always or often on the network can be backed up after
# hours, to reduce PC, network and server load during working hours. For
# each PC a count of consecutive good pings is maintained. Once a PC has
# at least $Conf{BlackoutGoodCnt} consecutive good pings it is subject
# to "blackout" and not backed up during hours and days specified by
# $Conf{BlackoutPeriods}.
#
# To allow for periodic rebooting of a PC or other brief periods when a
# PC is not on the network, a number of consecutive bad pings is allowed
# before the good ping count is reset. This parameter is
# $Conf{BlackoutBadPingLimit}.
#
# Note that bad and good pings don't occur with the same interval. If a
# machine is always on the network, it will only be pinged roughly once
# every $Conf{IncrPeriod} (eg: once per day). So a setting for
# $Conf{BlackoutGoodCnt} of 7 means it will take around 7 days for a
# machine to be subject to blackout. On the other hand, if a ping is
# failed, it will be retried roughly every time BackupPC wakes up, eg,
# every one or two hours. So a setting for $Conf{BlackoutBadPingLimit} of
# 3 means that the PC will lose its blackout status after 3-6 hours of
# unavailability.
#
# To disable the blackout feature set $Conf{BlackoutGoodCnt} to a negative
# value. A value of 0 will make all machines subject to blackout. But
# if you don't want to do any backups during the day it would be easier
# to just set $Conf{WakeupSchedule} to a restricted schedule.
#
$Conf{BlackoutBadPingLimit} = 3;
$Conf{BlackoutGoodCnt} = 7;

#
# One or more blackout periods can be specified. If a client is
# subject to blackout then no regular (non-manual) backups will
# be started during any of these periods. hourBegin and hourEnd
# specify hours fro midnight and weekDays is a list of days of
# the week where 0 is Sunday, 1 is Monday etc.
#
# For example:
#
# $Conf{BlackoutPeriods} = [
# {
# hourBegin => 7.0,
# hourEnd => 19.5,
# weekDays => [1, 2, 3, 4, 5],
# },
# ];
#
# specifies one blackout period from 7:00am to 7:30pm local time
# on Mon-Fri.
#
# The blackout period can also span midnight by setting
# hourBegin > hourEnd, eg:
#
# $Conf{BlackoutPeriods} = [
# {
# hourBegin => 7.0,
# hourEnd => 19.5,
# weekDays => [1, 2, 3, 4, 5],
# },
# {
# hourBegin => 23,
# hourEnd => 5,
# weekDays => [5, 6],
# },
# ];
#
# 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
# Saturday night.
#
$Conf{BlackoutPeriods} = [
{
hourBegin => 7.0,
hourEnd => 19.5,
weekDays => [1, 2, 3, 4, 5],
},
];

#
# 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
# backed up. If you have shares that might be empty (and therefore an
# empty backup is valid) you should set this flag to 0.
#
$Conf{BackupZeroFilesIsFatal} = 0;

###########################################################################
# General per-PC configuration settings
# (can be overridden in the per-PC config.pl)
###########################################################################
#
# What transport method to use to backup each host. If you have
# a mixed set of WinXX and linux/unix hosts you will need to override
# this in the per-PC config.pl.
#
# The valid values are:
#
# - 'smb': backup and restore via smbclient and the SMB protocol.
# Easiest choice for WinXX.
#
# - 'rsync': backup and restore via rsync (via rsh or ssh).
# Best choice for linux/unix. Good choice also for WinXX.
#
# - 'rsyncd': backup and restore via rsync daemon on the client.
# Best choice for linux/unix if you have rsyncd running on
# the client. Good choice also for WinXX.
#
# - 'tar': backup and restore via tar, tar over ssh, rsh or nfs.
# Good choice for linux/unix.
#
# - 'archive': host is a special archive host. Backups are not done.
# An archive host is used to archive other host's backups
# to permanent media, such as tape, CDR or DVD.
#
#
$Conf{XferMethod} = 'rsyncd';

#
# Level of verbosity in Xfer log files. 0 means be quiet, 1 will give
# will give one line per file, 2 will also show skipped files on
# incrementals, higher values give more output.
#
$Conf{XferLogLevel} = 1;

#
# Full path for smbclient. Security caution: normal users should not
# allowed to write to this file or directory.
#
# smbclient is from the Samba distribution. smbclient is used to
# actually extract the incremental or full dump of the share filesystem
# from the PC.
#
# This setting only matters if $Conf{XferMethod} = 'smb'.
#
$Conf{SmbClientPath} = '/usr/bin/smbclient';

#
# Command to run smbclient for a full dump.
# This setting only matters if $Conf{XferMethod} = 'smb'.
#
# The following variables are substituted at run-time:
#
# $smbClientPath same as $Conf{SmbClientPath}
# $host host to backup/restore
# $hostIP host IP address
# $shareName share name
# $userName user name
# $fileList list of files to backup (based on exclude/include)
# $I_option optional -I option to smbclient
# $X_option exclude option (if $fileList is an exclude list)
# $timeStampFile start time for incremental dump
#
$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 -';

#
# Full command to run tar on the client. GNU tar is required. You will
# need to fill in the correct paths for ssh2 on the local host (server)
# and GNU tar on the client. Security caution: normal users should not
# allowed to write to these executable files or directories.
#
# See the documentation for more information about setting up ssh2 keys.
#
# If you plan to use NFS then tar just runs locally and ssh2 is not needed.
# For example, assuming the client filesystem is mounted below /mnt/hostName,
# you could use something like:
#
# $Conf{TarClientCmd} = '$tarPath -c -v -f - -C /mnt/$host/$shareName'
# . ' --totals';
#
# In the case of NFS or rsh you need to make sure BackupPC's privileges
# are sufficient to read all the files you want to backup. Also, you
# will probably want to add "/proc" to $Conf{BackupFilesExclude}.
#
# The following variables are substituted at run-time:
#
# $host host name
# $hostIP host's IP address
# $incrDate newer-than date for incremental backups
# $shareName share name to backup (ie: top-level directory path)
# $fileList specific files to backup or exclude
# $tarPath same as $Conf{TarClientPath}
# $sshPath same as $Conf{SshPath}
#
# 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
# getting passed through the shell.
#
# This setting only matters if $Conf{XferMethod} = 'tar'.
#
$Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host'
. ' $tarPath -c -v -f - -C $shareName+'
. ' --totals';

#
# Extra tar arguments for full backups. Several variables are substituted at
# 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
# "+" so that the argument is no longer shell escaped.
#
# This setting only matters if $Conf{XferMethod} = 'tar'.
#
$Conf{TarFullArgs} = '$fileList+';

#
# Extra tar arguments for incr backups. Several variables are substituted at
# run-time. See $Conf{TarClientCmd} for the list of variable substitutions.
#
# Note that GNU tar has several methods for specifying incremental backups,
# including:
#
# --newer-mtime $incrDate+
# This causes a file to be included if the modification time is
# later than $incrDate (meaning its contents might have changed).
# But changes in the ownership or modes will not qualify the
# file to be included in an incremental.
#
# --newer=$incrDate+
# This causes the file to be included if any attribute of the
# file is later than $incrDate, meaning either attributes or
# the modification time. This is the default method. Do
# not use --atime-preserve in $Conf{TarClientCmd} above,
# otherwise resetting the atime (access time) counts as an
# attribute change, meaning the file will always be included
# in each new incremental dump.
#
# If you are running tar locally (ie: without rsh or ssh) then remove the
# "+" so that the argument is no longer shell escaped.
#
# This setting only matters if $Conf{XferMethod} = 'tar'.
#
$Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+';

#
# Full command to run tar for restore on the client. GNU tar is required.
# This can be the same as $Conf{TarClientCmd}, with tar's -c replaced by -x
# and ssh's -n removed.
#
# See $Conf{TarClientCmd} for full details.
#
# This setting only matters if $Conf{XferMethod} = "tar".
#
# If you want to disable direct restores using tar, you should set
# $Conf{TarClientRestoreCmd} to undef and the corresponding CGI
# restore option will be removed.
#
$Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host'
. ' $tarPath -x -p --numeric-owner --same-owner'
. ' -v -f - -C $shareName+';

#
# Full path for tar on the client. Security caution: normal users should not
# allowed to write to this file or directory.
#
# This setting only matters if $Conf{XferMethod} = 'tar'.
#
$Conf{TarClientPath} = '/bin/tar';

#
# Path to rsync executable on the client
#
$Conf{RsyncClientPath} = '/usr/bin/rsync';

#
# Full command to run rsync on the client machine. The following variables
# are substituted at run-time:
#
# $host host name being backed up
# $hostIP host's IP address
# $shareName share name to backup (ie: top-level directory path)
# $rsyncPath same as $Conf{RsyncClientPath}
# $sshPath same as $Conf{SshPath}
# $argList argument list, built from $Conf{RsyncArgs},
# $shareName, $Conf{BackupFilesExclude} and
# $Conf{BackupFilesOnly}
#
# This setting only matters if $Conf{XferMethod} = 'rsync'.
#
# $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
# $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host nice -n 19 /usr/bin/sudo $rsyncPath $argList+';
$Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host /usr/bin/sudo $rsyncPath $argList+';

# Full command to run rsync for restore on the client. The following
# variables are substituted at run-time:
#
# $host host name being backed up
# $hostIP host's IP address
# $shareName share name to backup (ie: top-level directory path)
# $rsyncPath same as $Conf{RsyncClientPath}
# $sshPath same as $Conf{SshPath}
# $argList argument list, built from $Conf{RsyncArgs},
# $shareName, $Conf{BackupFilesExclude} and
# $Conf{BackupFilesOnly}
#
# This setting only matters if $Conf{XferMethod} = 'rsync'.
#
$Conf{RsyncClientRestoreCmd} = '/usr/bin/sudo $sshPath -q -x -l root $host $rsyncPath $argList+';

#
# Share name to backup. For $Conf{XferMethod} = "rsync" this should
# be a file system path, eg '/' or '/home'.
#
# For $Conf{XferMethod} = "rsyncd" this should be the name of the module
# to backup (ie: the name from /etc/rsynd.conf).
#
# This can also be a list of multiple file system paths or modules.
# For example, by adding --one-file-system to $Conf{RsyncArgs} you
# can backup each file system separately, which makes restoring one
# bad file system easier. In this case you would list all of the mount
# points:
#
# $Conf{RsyncShareName} = ['/', '/var', '/data', '/boot'];
#
$Conf{RsyncShareName} = ['Pclib', 'GsWin', 'proto'];

#
# Rsync daemon port on the client, for $Conf{XferMethod} = "rsyncd".
#
$Conf{RsyncdClientPort} = 873;

#
# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
# The user name and password are stored on the client in whatever file
# the "secrets file" parameter in rsyncd.conf points to
# (eg: /etc/rsyncd.secrets).
#
$Conf{RsyncdUserName} = 'backuppc';

#
# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
# The user name and password are stored on the client in whatever file
# the "secrets file" parameter in rsyncd.conf points to
# (eg: /etc/rsyncd.secrets).
#
$Conf{RsyncdPasswd} = '****';

#
# Whether authentication is mandatory when connecting to the client's
# rsyncd. By default this is on, ensuring that BackupPC will refuse to
# connect to an rsyncd on the client that is not password protected.
# Turn off at your own risk.
#
$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.
#
# 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!
#
'--numeric-ids',
'--perms',
'--owner',
'--group',
'-D',
'--links',
'--times',
'--block-size=2048',
'--recursive',

#
# If you are using a patched client rsync that supports the
# --checksum-seed option (see [backuppc.sourceforge.net]),
# then uncomment this to enabled rsync checksum cachcing
#
#'--checksum-seed=32761',

#
# Add additional arguments here
#
];

#
# Arguments to rsync for restore. Do not edit the first set unless you
# have a thorough understanding of how File::RsyncP works.
#
Sorry, only registered users may post in this forum.

Click here to login