# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2004 Craig Barratt
+# Copyright (C) 2004-2009 Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
#========================================================================
#
-# Version 2.1.0, released 20 Jun 2004.
+# Version 3.2.0, released 31 Jul 2010.
#
# See http://backuppc.sourceforge.net.
#
MaxBackupPCNightlyJobs => "integer",
BackupPCNightlyPeriod => "integer",
MaxOldLogFiles => "integer",
+ CmdQueueNice => "integer",
- SshPath => {type => "string", undefIfEmpty => 1},
- NmbLookupPath => {type => "string", undefIfEmpty => 1},
- PingPath => {type => "string", undefIfEmpty => 1},
- DfPath => {type => "string", undefIfEmpty => 1},
+ SshPath => {type => "execPath", undefIfEmpty => 1},
+ NmbLookupPath => {type => "execPath", undefIfEmpty => 1},
+ PingPath => {type => "execPath", undefIfEmpty => 1},
+ DfPath => {type => "execPath", undefIfEmpty => 1},
DfCmd => "string",
- SplitPath => {type => "string", undefIfEmpty => 1},
- ParPath => {type => "string", undefIfEmpty => 1},
- CatPath => {type => "string", undefIfEmpty => 1},
- GzipPath => {type => "string", undefIfEmpty => 1},
- Bzip2Path => {type => "string", undefIfEmpty => 1},
+ SplitPath => {type => "execPath", undefIfEmpty => 1},
+ ParPath => {type => "execPath", undefIfEmpty => 1},
+ CatPath => {type => "execPath", undefIfEmpty => 1},
+ GzipPath => {type => "execPath", undefIfEmpty => 1},
+ Bzip2Path => {type => "execPath", undefIfEmpty => 1},
DfMaxUsagePct => "float",
TrashCleanSleepSec => "integer",
DHCPAddressRanges => {
child => {
type => "hash",
noKeyEdit => 1,
+ order => [qw(ipAddrBase first last)],
child => {
ipAddrBase => "string",
first => "integer",
BackupPCUser => "string",
CgiDir => "string",
InstallDir => "string",
- BackupPCUserVerify => "integer",
+ TopDir => "string",
+ ConfDir => "string",
+ LogDir => "string",
+ BackupPCUserVerify => "boolean",
HardLinkMax => "integer",
PerlModuleLoad => {
type => "list",
IncrKeepCnt => "integer",
IncrKeepCntMin => "integer",
IncrAgeMax => "float",
+ IncrLevels => {
+ type => "shortlist",
+ child => "integer",
+ },
PartialAgeMax => "float",
- IncrFill => "integer",
+ BackupsDisable => "integer",
+ IncrFill => "boolean",
RestoreInfoKeepCnt => "integer",
ArchiveInfoKeepCnt => "integer",
BackupFilesOnly => {
- type => "list",
- emptyOk => 1,
- undefIfEmpty => 1,
- child => "string",
+ type => "hash",
+ emptyOk => 1,
+ childType => {
+ type => "list",
+ emptyOk => 1,
+ child => "string",
+ },
},
BackupFilesExclude => {
- type => "list",
- emptyOk => 1,
- undefIfEmpty => 1,
- child => "string",
+ type => "hash",
+ emptyOk => 1,
+ childType => {
+ type => "list",
+ emptyOk => 1,
+ child => "string",
+ },
},
BlackoutBadPingLimit => "integer",
},
},
- BackupZeroFilesIsFatal => "integer",
+ BackupZeroFilesIsFatal => "boolean",
######################################################################
# How to backup a client
######################################################################
XferMethod => {
type => "select",
- values => [qw(archive rsync rsyncd smb tar)],
+ values => [qw(archive ftp rsync rsyncd smb tar)],
},
XferLogLevel => "integer",
+ ClientCharset => "string",
+ ClientCharsetLegacy => "string",
+
+ ######################################################################
+ # Smb Configuration
+ ######################################################################
SmbShareName => {
type => "list",
child => "string",
},
SmbShareUserName => "string",
SmbSharePasswd => "string",
- SmbClientPath => {type => "string", undefIfEmpty => 1},
+ SmbClientPath => {type => "execPath", undefIfEmpty => 1},
SmbClientFullCmd => "string",
SmbClientIncrCmd => "string",
- SmbClientRestoreCmd => "string",
+ SmbClientRestoreCmd => {type => "string", undefIfEmpty => 1},
+ ######################################################################
+ # Tar Configuration
+ ######################################################################
TarShareName => {
type => "list",
child => "string",
TarClientCmd => "string",
TarFullArgs => "string",
TarIncrArgs => "string",
- TarClientRestoreCmd => "string",
+ TarClientRestoreCmd => {type => "string", undefIfEmpty => 1},
TarClientPath => {type => "string", undefIfEmpty => 1},
+ ######################################################################
+ # Rsync Configuration
+ ######################################################################
RsyncShareName => {
type => "list",
child => "string",
RsyncClientCmd => "string",
RsyncClientRestoreCmd => "string",
+ ######################################################################
+ # Rsyncd Configuration
+ ######################################################################
RsyncdClientPort => "integer",
+ RsyncdUserName => "string",
RsyncdPasswd => "string",
- RsyncdAuthRequired => "integer",
+ RsyncdAuthRequired => "boolean",
+ ######################################################################
+ # Rsync(d) Options
+ ######################################################################
RsyncCsumCacheVerifyProb => "float",
RsyncArgs => {
- type => "list",
- emptyOk => 1,
- child => "string",
+ type => "list",
+ emptyOk => 1,
+ child => "string",
+ },
+ RsyncArgsExtra => {
+ type => "list",
+ emptyOk => 1,
+ child => "string",
},
RsyncRestoreArgs => {
- type => "list",
- emptyOk => 1,
- child => "string",
+ type => "list",
+ emptyOk => 1,
+ undefIfEmpty => 1,
+ child => "string",
+ },
+
+ ######################################################################
+ # FTP Configuration
+ ######################################################################
+ FtpShareName => {
+ type => "list",
+ child => "string",
},
+ FtpUserName => "string",
+ FtpPasswd => "string",
+ FtpPassive => "boolean",
+ FtpBlockSize => "integer",
+ FtpPort => "integer",
+ FtpTimeout => "integer",
+ FtpFollowSymlinks => "boolean",
+ ######################################################################
+ # Archive Configuration
+ ######################################################################
ArchiveDest => "string",
ArchiveComp => {
type => "select",
values => [qw(none bzip2 gzip)],
},
- ArchivePar => "integer",
+ ArchivePar => "boolean",
ArchiveSplit => "float",
ArchiveClientCmd => "string",
+ ######################################################################
+ # Other Client Configuration
+ ######################################################################
NmbLookupCmd => "string",
NmbLookupFindHostCmd => "string",
- FixedIPNetBiosNameCheck => "integer",
+ FixedIPNetBiosNameCheck => "boolean",
PingCmd => "string",
PingMaxMsec => "float",
RestorePostUserCmd => {type => "string", undefIfEmpty => 1},
ArchivePreUserCmd => {type => "string", undefIfEmpty => 1},
ArchivePostUserCmd => {type => "string", undefIfEmpty => 1},
+ UserCmdCheckStatus => "boolean",
ClientNameAlias => {type => "string", undefIfEmpty => 1},
# Email reminders, status and messages
# (can be overridden in the per-PC config.pl)
######################################################################
- SendmailPath => {type => "string", undefIfEmpty => 1},
+ SendmailPath => {type => "execPath", undefIfEmpty => 1},
EMailNotifyMinDays => "float",
EMailFromUserName => "string",
EMailAdminUserName => "string",
EMailNotifyOldOutlookDays => "float",
EMailOutlookBackupSubj => {type => "string", undefIfEmpty => 1},
EMailOutlookBackupMesg => {type => "bigstring", undefIfEmpty => 1},
+ EMailHeaders => {type => "bigstring", undefIfEmpty => 1},
######################################################################
# CGI user interface configuration settings
CgiAdminUserGroup => "string",
CgiAdminUsers => "string",
CgiURL => "string",
- Language => "string",
+ Language => {
+ type => "select",
+ values => [qw(cz de en es fr it nl pl pt_br zh_CN)],
+ },
CgiUserHomePageCheck => "string",
CgiUserUrlCreate => "string",
CgiDateFormatMMDD => "integer",
- CgiNavBarAdminAllHosts => "integer",
- CgiSearchBoxEnable => "integer",
+ CgiNavBarAdminAllHosts => "boolean",
+ CgiSearchBoxEnable => "boolean",
CgiNavBarLinks => {
type => "list",
emptyOk => 1,
Reason_no_ping => "string",
Reason_backup_canceled_by_user => "string",
Status_backup_in_progress => "string",
+ Disabled_OnlyManualBackups => "string",
+ Disabled_AllBackupsDisabled => "string",
},
},
CgiHeaders => "bigstring",
},
CgiImageDirURL => "string",
CgiCSSFile => "string",
+ CgiUserConfigEditEnable => "boolean",
CgiUserConfigEdit => {
type => "hash",
noKeyEdit => 1,
IncrKeepCnt => "boolean",
IncrKeepCntMin => "boolean",
IncrAgeMax => "boolean",
+ IncrLevels => "boolean",
PartialAgeMax => "boolean",
IncrFill => "boolean",
RestoreInfoKeepCnt => "boolean",
ArchiveInfoKeepCnt => "boolean",
BackupFilesOnly => "boolean",
BackupFilesExclude => "boolean",
+ BackupsDisable => "boolean",
BlackoutBadPingLimit => "boolean",
BlackoutGoodCnt => "boolean",
BlackoutPeriods => "boolean",
BackupZeroFilesIsFatal => "boolean",
XferMethod => "boolean",
XferLogLevel => "boolean",
+ ClientCharset => "boolean",
+ ClientCharsetLegacy => "boolean",
SmbShareName => "boolean",
SmbShareUserName => "boolean",
SmbSharePasswd => "boolean",
+ SmbClientFullCmd => "boolean",
+ SmbClientIncrCmd => "boolean",
+ SmbClientRestoreCmd => "boolean",
TarShareName => "boolean",
TarFullArgs => "boolean",
TarIncrArgs => "boolean",
+ TarClientCmd => "boolean",
+ TarClientPath => "boolean",
+ TarClientRestoreCmd => "boolean",
RsyncShareName => "boolean",
RsyncdClientPort => "boolean",
+ RsyncdUserName => "boolean",
RsyncdPasswd => "boolean",
RsyncdAuthRequired => "boolean",
RsyncCsumCacheVerifyProb => "boolean",
RsyncArgs => "boolean",
+ RsyncArgsExtra => "boolean",
RsyncRestoreArgs => "boolean",
+ RsyncClientCmd => "boolean",
+ RsyncClientPath => "boolean",
+ RsyncClientRestoreCmd => "boolean",
+ FtpShareName => "boolean",
+ FtpUserName => "boolean",
+ FtpPasswd => "boolean",
+ FtpBlockSize => "boolean",
+ FtpPort => "boolean",
+ FtpTimeout => "boolean",
+ FtpFollowSymlinks => "boolean",
+ FtpRestoreEnabled => "boolean",
ArchiveDest => "boolean",
ArchiveComp => "boolean",
ArchivePar => "boolean",
ArchiveSplit => "boolean",
+ ArchiveClientCmd => "boolean",
FixedIPNetBiosNameCheck => "boolean",
PingMaxMsec => "boolean",
+ NmbLookupCmd => "boolean",
+ NmbLookupFindHostCmd => "boolean",
+ PingCmd => "boolean",
ClientTimeout => "boolean",
MaxOldPerPCLogFiles => "boolean",
CompressLevel => "boolean",
ClientNameAlias => "boolean",
+ DumpPreUserCmd => "boolean",
+ DumpPostUserCmd => "boolean",
+ RestorePreUserCmd => "boolean",
+ RestorePostUserCmd => "boolean",
+ ArchivePreUserCmd => "boolean",
+ ArchivePostUserCmd => "boolean",
+ DumpPostShareCmd => "boolean",
+ DumpPreShareCmd => "boolean",
+ UserCmdCheckStatus => "boolean",
EMailNotifyMinDays => "boolean",
EMailFromUserName => "boolean",
EMailAdminUserName => "boolean",
EMailNotifyOldOutlookDays => "boolean",
EMailOutlookBackupSubj => "boolean",
EMailOutlookBackupMesg => "boolean",
+ EMailHeaders => "boolean",
+ },
+ },
+
+ ######################################################################
+ # Fake config setting for editing the hosts
+ ######################################################################
+ Hosts => {
+ type => "list",
+ emptyOk => 1,
+ child => {
+ type => "horizHash",
+ order => [qw(host dhcp user moreUsers)],
+ noKeyEdit => 1,
+ child => {
+ host => { type => "string", size => 20 },
+ dhcp => { type => "boolean" },
+ user => { type => "string", size => 20 },
+ moreUsers => { type => "string", size => 30 },
+ },
},
},
);