Advertisement
Guest User

Untitled

a guest
Oct 13th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 84.46 KB | None | 0 0
  1. #============================================================= -*-perl-*-
  2. #
  3. # Configuration file for BackupPC.
  4. #
  5. # DESCRIPTION
  6. #
  7. #   This is the main configuration file for BackupPC.
  8. #
  9. #   This file must be valid perl source, so make sure the punctuation,
  10. #   quotes, and other syntax are valid.
  11. #
  12. #   This file is read by BackupPC at startup, when a HUP (-1) signal
  13. #   is sent to BackupPC and also at each wakeup time whenever the
  14. #   modification time of this file changes.
  15. #
  16. #   The configuration parameters are divided into four general groups.
  17. #   The first group (general server configuration) provides general
  18. #   configuration for BackupPC.  The next two groups describe what
  19. #   to backup, when to do it, and how long to keep it.  The fourth
  20. #   group are settings for the CGI http interface.
  21. #
  22. #   Configuration settings can also be specified on a per-PC basis.
  23. #   Simply put the relevant settings in a config.pl file in the
  24. #   PC's backup directory (ie: in __TOPDIR__/pc/hostName).
  25. #   All configuration settings in the second, third and fourth
  26. #   groups can be overridden by the per-PC config.pl file.
  27. #
  28. # AUTHOR
  29. #   Craig Barratt  <cbarratt@users.sourceforge.net>
  30. #
  31. # COPYRIGHT
  32. #   Copyright (C) 2001-2017  Craig Barratt
  33. #
  34. #   See http://backuppc.sourceforge.net.
  35. #
  36. #========================================================================
  37.  
  38. ###########################################################################
  39. # General server configuration
  40. ###########################################################################
  41. #
  42. # Host name on which the BackupPC server is running.
  43. #
  44. $Conf{ServerHost} = 'myhost.localdomain';
  45.  
  46. #
  47. # TCP port number on which the BackupPC server listens for and accepts
  48. # connections.  Normally this should be disabled (set to -1).  The TCP
  49. # port is only needed if apache runs on a different machine from BackupPC.
  50. # In that case, set this to any spare port number over 1024 (eg: 2359).
  51. # If you enable the TCP port, make sure you set $Conf{ServerMesgSecret}
  52. # too!
  53. #
  54. $Conf{ServerPort} = -1;
  55.  
  56. #
  57. # Shared secret to make the TCP port secure.  Set this to a hard to guess
  58. # string if you enable the TCP port (ie: $Conf{ServerPort} > 0).
  59. #
  60. # To avoid possible attacks via the TCP socket interface, every client
  61. # message is protected by an MD5 digest. The MD5 digest includes four
  62. # items:
  63. #   - a seed that is sent to the client when the connection opens
  64. #   - a sequence number that increments for each message
  65. #   - a shared secret that is stored in $Conf{ServerMesgSecret}
  66. #   - the message itself.
  67. #
  68. # The message is sent in plain text preceded by the MD5 digest.  A
  69. # snooper can see the plain-text seed sent by BackupPC and plain-text
  70. # message from the client, but cannot construct a valid MD5 digest since
  71. # the secret $Conf{ServerMesgSecret} is unknown.  A replay attack is
  72. # not possible since the seed changes on a per-connection and
  73. # per-message basis.
  74. #
  75. $Conf{ServerMesgSecret} = '';
  76.  
  77. #
  78. # PATH setting for BackupPC.  An explicit value is necessary
  79. # for taint mode.  Value shouldn't matter too much since
  80. # all execs use explicit paths.  However, taint mode in perl
  81. # will complain if this directory is world writable.
  82. #
  83. $Conf{MyPath} = '/bin';
  84.  
  85. #
  86. # Permission mask for directories and files created by BackupPC.
  87. # Default value prevents any access from group other, and prevents
  88. # group write.
  89. #
  90. $Conf{UmaskMode} = 23;
  91.  
  92. #
  93. # Times at which we wake up, check all the PCs, and schedule necessary
  94. # backups.  Times are measured in hours since midnight.  Can be
  95. # fractional if necessary (eg: 4.25 means 4:15am).
  96. #
  97. # If the hosts you are backing up are always connected to the network
  98. # you might have only one or two wakeups each night.  This will keep
  99. # the backup activity after hours.  On the other hand, if you are backing
  100. # up laptops that are only intermittently connected to the network you
  101. # will want to have frequent wakeups (eg: hourly) to maximize the chance
  102. # that each laptop is backed up.
  103. #
  104. # Examples:
  105. #     $Conf{WakeupSchedule} = [22.5];         # once per day at 10:30 pm.
  106. #     $Conf{WakeupSchedule} = [2,4,6,8,10,12,14,16,18,20,22];  # every 2 hours
  107. #
  108. # The default value is every hour except midnight.
  109. #
  110. # The first entry of $Conf{WakeupSchedule} is when BackupPC_nightly is run.
  111. # You might want to re-arrange the entries in $Conf{WakeupSchedule}
  112. # (they don't have to be ascending) so that the first entry is when
  113. # you want BackupPC_nightly to run (eg: when you don't expect a lot
  114. # of regular backups to run).
  115. #
  116. $Conf{WakeupSchedule} = [
  117.   4,
  118.   10,
  119.   16,
  120.   22
  121. ];
  122.  
  123. #
  124. # If a V3 pool exists (ie: an upgrade) set this to 1.  This causes the
  125. # V3 pool to be checked for matches if there are no matches in the V4
  126. # pool.
  127. #
  128. # For new installations, this should be set to 0.
  129. #
  130. $Conf{PoolV3Enabled} = '0';
  131.  
  132. #
  133. # Maximum number of simultaneous backups to run.  If there
  134. # are no user backup requests then this is the maximum number
  135. # of simultaneous backups.
  136. #
  137. $Conf{MaxBackups} = 2;
  138.  
  139. #
  140. # Additional number of simultaneous backups that users can run.
  141. # As many as $Conf{MaxBackups} + $Conf{MaxUserBackups} requests can
  142. # run at the same time.
  143. #
  144. $Conf{MaxUserBackups} = 2;
  145.  
  146. #
  147. # Maximum number of pending link commands. New backups will only be
  148. # started if there are no more than $Conf{MaxPendingCmds} plus
  149. # $Conf{MaxBackups} number of pending link commands, plus running jobs.
  150. # This limit is to make sure BackupPC doesn't fall too far behind in
  151. # running BackupPC_link commands.
  152. #
  153. $Conf{MaxPendingCmds} = 15;
  154.  
  155. #
  156. # Nice level at which CmdQueue commands (eg: BackupPC_link and
  157. # BackupPC_nightly) are run at.
  158. #
  159. $Conf{CmdQueueNice} = 10;
  160.  
  161. #
  162. # How many BackupPC_nightly processes to run in parallel.
  163. #
  164. # Each night, at the first wakeup listed in $Conf{WakeupSchedule},
  165. # BackupPC_nightly is run.  Its job is to remove unneeded files
  166. # in the pool, ie: files that only have one link.  To avoid race
  167. # conditions, BackupPC_nightly and BackupPC_link cannot run at
  168. # the same time.  Starting in v3.0.0, BackupPC_nightly can run
  169. # concurrently with backups (BackupPC_dump).
  170. #
  171. # So to reduce the elapsed time, you might want to increase this
  172. # setting to run several BackupPC_nightly processes in parallel
  173. # (eg: 4, or even 8).
  174. #
  175. $Conf{MaxBackupPCNightlyJobs} = 2;
  176.  
  177. #
  178. # How many days (runs) it takes BackupPC_nightly to traverse the
  179. # entire pool.  Normally this is 1, which means every night it runs,
  180. # it does traverse the entire pool removing unused pool files.
  181. #
  182. # Other valid values are 2, 4, 8, 16.  This causes BackupPC_nightly to
  183. # traverse 1/2, 1/4, 1/8 or 1/16th of the pool each night, meaning it
  184. # takes 2, 4, 8 or 16 days to completely traverse the pool.  The
  185. # advantage is that each night the running time of BackupPC_nightly
  186. # is reduced roughly in proportion, since the total job is split
  187. # over multiple days.  The disadvantage is that unused pool files
  188. # take longer to get deleted, which will slightly increase disk
  189. # usage.
  190. #
  191. # Note that even when $Conf{BackupPCNightlyPeriod} > 1, BackupPC_nightly
  192. # still runs every night.  It just does less work each time it runs.
  193. #
  194. # Examples:
  195. #
  196. #    $Conf{BackupPCNightlyPeriod} = 1;   # entire pool is checked every night
  197. #
  198. #    $Conf{BackupPCNightlyPeriod} = 2;   # two days to complete pool check
  199. #                                        # (different half each night)
  200. #
  201. #    $Conf{BackupPCNightlyPeriod} = 4;   # four days to complete pool check
  202. #                                        # (different quarter each night)
  203. #
  204. $Conf{BackupPCNightlyPeriod} = 1;
  205.  
  206. #
  207. # The total size of the files in the new V4 pool is updated every
  208. # night when BackupPC_nightly runs BackupPC_refCountUpdate.  Instead
  209. # of adding up the size of every pool file, it just updates the pool
  210. # size total when files are added to or removed from the pool.
  211. #
  212. # To make sure these cumulative pool file sizes stay accurate, we
  213. # recompute the V4 pool size for a portion of the pool each night
  214. # from scratch, ie: by checking every file in that portion of the
  215. # pool.
  216. #
  217. # $Conf{PoolSizeNightlyUpdatePeriod} sets how many nights it takes
  218. # to completely update the V4 pool size.  It can be set to:
  219. #   0:  never do a full refresh; simply maintain the cumulative sizes
  220. #       when files are added or deleted (fastest option)
  221. #   1:  recompute all  the V4 pool size every night (slowest option)
  222. #   2:  recompute 1/2  the V4 pool size every night
  223. #   4:  recompute 1/4  the V4 pool size every night
  224. #   8:  recompute 1/8  the V4 pool size every night
  225. #   16: recompute 1/16 the V4 pool size every night
  226. #       (2nd fastest option; ensures the pool files sizes
  227. #        stay accurate after a few day, in case the relative
  228. #        upgrades miss a file)
  229. #
  230. $Conf{PoolSizeNightlyUpdatePeriod} = 16;
  231.  
  232. #
  233. # Reference counts of pool files are computed per backup by accumulating
  234. # the relative changes.  That means, however, that any error will never be
  235. # corrected.  To be more conservative, we do a periodic full-redo of the
  236. # backup reference counts (called an "fsck").  $Conf{RefCntFsck} controls
  237. # how often this is done:
  238. #
  239. #   0: no additional fsck
  240. #   1: do an fsck on the last backup if it is from a full backup
  241. #   2: do an fsck on the last two backups always
  242. #   3: do a full fsck on all the backups
  243. #
  244. # $Conf{RefCntFsck} = 1 is the recommended setting.
  245. #
  246. $Conf{RefCntFsck} = 1;
  247.  
  248. #
  249. # Maximum number of log files we keep around in log directory.
  250. # These files are aged nightly.  A setting of 14 means the log
  251. # directory will contain about 2 weeks of old log files, in
  252. # particular at most the files LOG, LOG.0, LOG.1, ... LOG.13
  253. # (except today's LOG, these files will have a .z extension if
  254. # compression is on).
  255. #
  256. # If you decrease this number after BackupPC has been running for a
  257. # while you will have to manually remove the older log files.
  258. #
  259. $Conf{MaxOldLogFiles} = 14;
  260.  
  261. #
  262. # Full path to the df command.  Security caution: normal users
  263. # should not allowed to write to this file or directory.
  264. #
  265. $Conf{DfPath} = '/usr/bin/df';
  266.  
  267. #
  268. # Command to run df.  The following variables are substituted at run-time:
  269. #
  270. #   $dfPath      path to df ($Conf{DfPath})
  271. #   $topDir      top-level BackupPC data directory
  272. #
  273. # Note: all Cmds are executed directly without a shell, so the prog name
  274. # needs to be a full path and you can't include shell syntax like
  275. # redirection and pipes; put that in a script if you need it.
  276. #
  277. $Conf{DfCmd} = '$dfPath $topDir';
  278.  
  279. #
  280. # Full path to various commands for archiving
  281. #
  282. $Conf{SplitPath} = '/usr/bin/split';
  283. $Conf{ParPath} = '/usr/bin/par2';
  284. $Conf{CatPath} = '/usr/bin/cat';
  285. $Conf{GzipPath} = '/usr/bin/gzip';
  286. $Conf{Bzip2Path} = '/usr/bin/bzip2';
  287.  
  288. #
  289. # Maximum threshold for disk utilization on the __TOPDIR__ filesystem.
  290. # If the output from $Conf{DfPath} reports a percentage larger than
  291. # this number then no new regularly scheduled backups will be run.
  292. # However, user requested backups (which are usually incremental and
  293. # tend to be small) are still performed, independent of disk usage.
  294. # Also, currently running backups will not be terminated when the disk
  295. # usage exceeds this number.
  296. #
  297. $Conf{DfMaxUsagePct} = 95;
  298.  
  299. #
  300. # List of DHCP address ranges we search looking for PCs to backup.
  301. # This is an array of hashes for each class C address range.
  302. # This is only needed if hosts in the conf/hosts file have the
  303. # dhcp flag set.
  304. #
  305. # Examples:
  306. #    # to specify 192.10.10.20 to 192.10.10.250 as the DHCP address pool
  307. #    $Conf{DHCPAddressRanges} = [
  308. #        {
  309. #            ipAddrBase => '192.10.10',
  310. #            first => 20,
  311. #            last  => 250,
  312. #        },
  313. #    ];
  314. #    # to specify two pools (192.10.10.20-250 and 192.10.11.10-50)
  315. #    $Conf{DHCPAddressRanges} = [
  316. #        {
  317. #            ipAddrBase => '192.10.10',
  318. #            first => 20,
  319. #            last  => 250,
  320. #        },
  321. #        {
  322. #            ipAddrBase => '192.10.11',
  323. #            first => 10,
  324. #            last  => 50,
  325. #        },
  326. #    ];
  327. #
  328. $Conf{DHCPAddressRanges} = [];
  329.  
  330. #
  331. # The BackupPC user.
  332. #
  333. $Conf{BackupPCUser} = 'backuppc';
  334.  
  335. #
  336. # Important installation directories:
  337. #
  338. #   TopDir     - where all the backup data is stored
  339. #   ConfDir    - where the main config and hosts files resides
  340. #   LogDir     - where log files and other transient information resides
  341. #   RunDir     - where pid and sock files reside
  342. #   InstallDir - where the bin, lib and doc installation dirs reside.
  343. #                Note: you cannot change this value since all the
  344. #                perl scripts include this path.  You must reinstall
  345. #                with configure.pl to change InstallDir.
  346. #   CgiDir     - Apache CGI directory for BackupPC_Admin
  347. #
  348. # Note: it is STRONGLY recommended that you don't change the
  349. # values here.  These are set at installation time and are here
  350. # for reference and are used during upgrades.
  351. #
  352. # Instead of changing TopDir here it is recommended that you use
  353. # a symbolic link to the new location, or mount the new BackupPC
  354. # store at the existing $Conf{TopDir} setting.
  355. #
  356. $Conf{TopDir} = '/var/lib/backuppc';
  357. $Conf{ConfDir} = '/etc/backuppc';
  358. $Conf{LogDir} = '/var/log/backuppc';
  359. $Conf{RunDir} = '/run/backuppc';
  360. $Conf{InstallDir} = '/usr/share/backuppc';
  361. $Conf{CgiDir} = '/usr/share/backuppc/cgi-bin';
  362.  
  363. #
  364. # Whether BackupPC and the CGI script BackupPC_Admin verify that they
  365. # are really running as user $Conf{BackupPCUser}.  If this flag is set
  366. # and the effective user id (euid) differs from $Conf{BackupPCUser}
  367. # then both scripts exit with an error.  This catches cases where
  368. # BackupPC might be accidently started as root or the wrong user,
  369. # or if the CGI script is not installed correctly.
  370. #
  371. $Conf{BackupPCUserVerify} = '1';
  372.  
  373. #
  374. # Maximum number of hardlinks supported by the $TopDir file system
  375. # that BackupPC uses.  Most linux or unix file systems should support
  376. # at least 32000 hardlinks per file, or 64000 in other cases.  If a pool
  377. # file already has this number of hardlinks, a new pool file is created
  378. # so that new hardlinks can be accommodated.  This limit will only
  379. # be hit if an identical file appears at least this number of times
  380. # across all the backups.
  381. #
  382. $Conf{HardLinkMax} = 31999;
  383.  
  384. #
  385. # Advanced option for asking BackupPC to load additional perl modules.
  386. # Can be a list (arrayref) of module names to load at startup.
  387. #
  388. $Conf{PerlModuleLoad} = undef;
  389.  
  390. #
  391. # Path to init.d script and command to use that script to start the
  392. # server from the CGI interface.  The following variables are substituted
  393. # at run-time:
  394. #
  395. #   $sshPath           path to ssh ($Conf{SshPath})
  396. #   $serverHost        same as $Conf{ServerHost}
  397. #   $serverInitdPath   path to init.d script ($Conf{ServerInitdPath})
  398. #
  399. # Example:
  400. #
  401. # $Conf{ServerInitdPath}     = '/etc/init.d/backuppc';
  402. # $Conf{ServerInitdStartCmd} = '$sshPath -q -x -l root $serverHost'
  403. #                            . ' $serverInitdPath start'
  404. #                            . ' < /dev/null >& /dev/null';
  405. #
  406. # Note: all Cmds are executed directly without a shell, so the prog name
  407. # needs to be a full path and you can't include shell syntax like
  408. # redirection and pipes; put that in a script if you need it.
  409. #
  410. $Conf{ServerInitdPath} = undef;
  411. $Conf{ServerInitdStartCmd} = '';
  412.  
  413. ###########################################################################
  414. # What to backup and when to do it
  415. # (can be overridden in the per-PC config.pl)
  416. ###########################################################################
  417. #
  418. # Minimum period in days between full backups. A full dump will only be
  419. # done if at least this much time has elapsed since the last full dump,
  420. # and at least $Conf{IncrPeriod} days has elapsed since the last
  421. # successful dump.
  422. #
  423. # Typically this is set slightly less than an integer number of days. The
  424. # time taken for the backup, plus the granularity of $Conf{WakeupSchedule}
  425. # will make the actual backup interval a bit longer.
  426. #
  427. $Conf{FullPeriod} = '6.97';
  428.  
  429. #
  430. # Minimum period in days between incremental backups (a user requested
  431. # incremental backup will be done anytime on demand).
  432. #
  433. # Typically this is set slightly less than an integer number of days. The
  434. # time taken for the backup, plus the granularity of $Conf{WakeupSchedule}
  435. # will make the actual backup interval a bit longer.
  436. #
  437. $Conf{IncrPeriod} = '0.22';
  438.  
  439. #
  440. # In V4+, full/incremental backups are decoupled from whether the stored
  441. # backup is filled/unfilled.
  442. #
  443. # To mimic V3 behaviour, if $Conf{FillCycle} is set to zero then fill/unfilled
  444. # will continue to match full/incremental: full backups will remained filled,
  445. # and incremental backups will be unfilled.  (However, the most recent
  446. # backup is always filled, whether it is full or incremental.)  This is
  447. # the recommended setting to keep things simple: since the backup expiry
  448. # is actually done based on filled/unfilled (not full/incremental), keeping
  449. # them synched makes it easier to understand the expiry settings.
  450. #
  451. # If you plan to do incremental-only backups (ie: set FullPeriod to a very
  452. # large value), then you should set $Conf{FillCycle} to how often you
  453. # want a stored backup to be filled.  For example, if $Conf{FillCycle} is
  454. # set to 7, then every 7th backup will be filled (whether or not the
  455. # corresponding backup was a full or not).
  456. #
  457. # There are two reasons you will want a non-zero $Conf{FillCycle} setting
  458. # when you are only doing incrementals:
  459. #
  460. #   - a filled backup is a starting point for merging deltas when you restore
  461. #     or view backups.  So having periodic filled backups makes it more
  462. #     efficient to view or restore older backups.
  463. #
  464. #   - more importantly, in V4+, deleting backups is done based on Fill/Unfilled,
  465. #     not whether the original backup was full/incremental.  If there aren't any
  466. #     filled backups (other than the most recent), then the $Conf{FullKeepCnt}
  467. #     and related settings won't have any effect.
  468. #
  469. $Conf{FillCycle} = 0;
  470.  
  471. #
  472. # Number of filled backups to keep.  Must be >= 1.
  473. #
  474. # The most recent backup (which is always filled) doesn't count when
  475. # checking $Conf{FullKeepCnt}.  So if you specify $Conf{FullKeepCnt} = 1
  476. # then that means keep one full backup in addition to the most recent
  477. # backup (which might be a filled incr or full).
  478. #
  479. # Note: Starting in V4+, deleting backups is done based on Fill/Unfilled,
  480. # not whether the original backup was full/incremental. For backward
  481. # compatibility, these parameters continue to be called FullKeepCnt, rather
  482. # than FilledKeepCnt.  If $Conf{FillCycle} is 0, then full backups continue
  483. # to be filled, so the terms are interchangeable.  For V3 backups,
  484. # the expiry settings have their original meanings.
  485. #
  486. # In the steady state, each time a full backup completes successfully
  487. # the oldest one is removed.  If this number is decreased, the
  488. # extra old backups will be removed.
  489. #
  490. # Exponential backup expiry is also supported.  This allows you to specify:
  491. #
  492. #   - num fulls to keep at intervals of 1 * $Conf{FillCycle}, followed by
  493. #   - num fulls to keep at intervals of 2 * $Conf{FillCycle},
  494. #   - num fulls to keep at intervals of 4 * $Conf{FillCycle},
  495. #   - num fulls to keep at intervals of 8 * $Conf{FillCycle},
  496. #   - num fulls to keep at intervals of 16 * $Conf{FillCycle},
  497. #
  498. # and so on.  This works by deleting every other full as each expiry
  499. # boundary is crossed.  Note: if $Conf{FillCycle} is 0, then
  500. # $Conf{FullPeriod} is used instead in these calculations.
  501. #
  502. # Exponential expiry is specified using an array for $Conf{FullKeepCnt}:
  503. #
  504. #   $Conf{FullKeepCnt} = [4, 2, 3];
  505. #
  506. # Entry #n specifies how many fulls to keep at an interval of
  507. # 2^n * $Conf{FillCycle} (ie: 1, 2, 4, 8, 16, 32, ...).
  508. #
  509. # The example above specifies keeping 4 of the most recent full backups
  510. # (1 week interval) two full backups at 2 week intervals, and 3 full
  511. # backups at 4 week intervals, eg:
  512. #
  513. #    full 0 19 weeks old   \
  514. #    full 1 15 weeks old    >---  3 backups at 4 * $Conf{FillCycle}
  515. #    full 2 11 weeks old   /
  516. #    full 3  7 weeks old   \____  2 backups at 2 * $Conf{FillCycle}
  517. #    full 4  5 weeks old   /
  518. #    full 5  3 weeks old   \
  519. #    full 6  2 weeks old    \___  4 backups at 1 * $Conf{FillCycle}
  520. #    full 7  1 week old     /
  521. #    full 8  current       /
  522. #
  523. # On a given week the spacing might be less than shown as each backup
  524. # ages through each expiry period.  For example, one week later, a
  525. # new full is completed and the oldest is deleted, giving:
  526. #
  527. #    full 0 16 weeks old   \
  528. #    full 1 12 weeks old    >---  3 backups at 4 * $Conf{FillCycle}
  529. #    full 2  8 weeks old   /
  530. #    full 3  6 weeks old   \____  2 backups at 2 * $Conf{FillCycle}
  531. #    full 4  4 weeks old   /
  532. #    full 5  3 weeks old   \
  533. #    full 6  2 weeks old    \___  4 backups at 1 * $Conf{FillCycle}
  534. #    full 7  1 week old     /
  535. #    full 8  current       /
  536. #
  537. # You can specify 0 as a count (except in the first entry), and the
  538. # array can be as long as you wish.  For example:
  539. #
  540. #   $Conf{FullKeepCnt} = [4, 0, 4, 0, 0, 2];
  541. #
  542. # This will keep 10 full dumps, 4 most recent at 1 * $Conf{FillCycle},
  543. # followed by 4 at an interval of 4 * $Conf{FillCycle} (approx 1 month
  544. # apart), and then 2 at an interval of 32 * $Conf{FillCycle} (approx
  545. # 7-8 months apart).
  546. #
  547. # Example: these two settings are equivalent and both keep just
  548. # the four most recent full dumps:
  549. #
  550. #    $Conf{FullKeepCnt} = 4;
  551. #    $Conf{FullKeepCnt} = [4];
  552. #
  553. $Conf{FullKeepCnt} = [
  554.   6
  555. ];
  556.  
  557. #
  558. # Very old full backups are removed after $Conf{FullAgeMax} days.  However,
  559. # we keep at least $Conf{FullKeepCntMin} full backups no matter how old
  560. # they are.
  561. #
  562. # Note that $Conf{FullAgeMax} will be increased to $Conf{FullKeepCnt}
  563. # times $Conf{FillCycle} if $Conf{FullKeepCnt} specifies enough
  564. # full backups to exceed $Conf{FullAgeMax}.
  565. #
  566. $Conf{FullKeepCntMin} = 1;
  567. $Conf{FullAgeMax} = 365;
  568.  
  569. #
  570. # Number of incremental backups to keep.  Must be >= 1.
  571. #
  572. # Note: Starting in V4+, deleting backups is done based on Fill/Unfilled,
  573. # not whether the original backup was full/incremental.  For historical
  574. # reasons these parameters continue to be called IncrKeepCnt, rather than
  575. # UnfilledKeepCnt.  If $Conf{FillCycle} is 0, then incremental backups
  576. # continue to be unfilled, so the terms are interchangeable.  For V3 backups,
  577. # the expiry settings have their original meanings.
  578. #
  579. # In the steady state, each time an incr backup completes successfully
  580. # the oldest one is removed.  If this number is decreased, the
  581. # extra old backups will be removed.
  582. #
  583. $Conf{IncrKeepCnt} = 100;
  584.  
  585. #
  586. # Very old incremental backups are removed after $Conf{IncrAgeMax} days.
  587. # However, we keep at least $Conf{IncrKeepCntMin} incremental backups no
  588. # matter how old they are.
  589. #
  590. $Conf{IncrKeepCntMin} = 50;
  591. $Conf{IncrAgeMax} = 365;
  592.  
  593. #
  594. # Disable all full and incremental backups.  These settings are
  595. # useful for a client that is no longer being backed up
  596. # (eg: a retired machine), but you wish to keep the last
  597. # backups available for browsing or restoring to other machines.
  598. #
  599. # There are three values for $Conf{BackupsDisable}:
  600. #
  601. #   0    Backups are enabled.
  602. #
  603. #   1    Don't do any regular backups on this client.  Manually
  604. #        requested backups (via the CGI interface) will still occur.
  605. #
  606. #   2    Don't do any backups on this client.  Manually requested
  607. #        backups (via the CGI interface) will be ignored.
  608. #
  609. # In versions prior to 3.0 Backups were disabled by setting
  610. # $Conf{FullPeriod} to -1 or -2.
  611. #
  612. $Conf{BackupsDisable} = 0;
  613.  
  614. #
  615. # Number of restore logs to keep.  BackupPC remembers information about
  616. # each restore request.  This number per client will be kept around before
  617. # the oldest ones are pruned.
  618. #
  619. # Note: files/dirs delivered via Zip or Tar downloads don't count as
  620. # restores.  Only the first restore option (where the files and dirs
  621. # are written to the host) count as restores that are logged.
  622. #
  623. $Conf{RestoreInfoKeepCnt} = 10;
  624.  
  625. #
  626. # Number of archive logs to keep.  BackupPC remembers information
  627. # about each archive request.  This number per archive client will
  628. # be kept around before the oldest ones are pruned.
  629. #
  630. $Conf{ArchiveInfoKeepCnt} = 10;
  631.  
  632. #
  633. # List of directories or files to backup.  If this is defined, only these
  634. # directories or files will be backed up.
  635. #
  636. # For Smb, only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
  637. # can be specified per share. If both are set for a particular share, then
  638. # $Conf{BackupFilesOnly} takes precedence and $Conf{BackupFilesExclude}
  639. # is ignored.
  640. #
  641. # This can be set to a string, an array of strings, or, in the case
  642. # of multiple shares, a hash of strings or arrays.  A hash is used
  643. # to give a list of directories or files to backup for each share
  644. # (the share name is the key).  If this is set to just a string or
  645. # array, and $Conf{SmbShareName} contains multiple share names, then
  646. # the setting is assumed to apply all shares.
  647. #
  648. # If a hash is used, a special key "*" means it applies to all
  649. # shares that don't have a specific entry.
  650. #
  651. # Examples:
  652. #    $Conf{BackupFilesOnly} = '/myFiles';
  653. #    $Conf{BackupFilesOnly} = ['/myFiles'];     # same as first example
  654. #    $Conf{BackupFilesOnly} = ['/myFiles', '/important'];
  655. #    $Conf{BackupFilesOnly} = {
  656. #       'c' => ['/myFiles', '/important'],      # these are for 'c' share
  657. #       'd' => ['/moreFiles', '/archive'],      # these are for 'd' share
  658. #    };
  659. #    $Conf{BackupFilesOnly} = {
  660. #       'c' => ['/myFiles', '/important'],      # these are for 'c' share
  661. #       '*' => ['/myFiles', '/important'],      # these are other shares
  662. #    };
  663. #
  664. $Conf{BackupFilesOnly} = {
  665.   '/home/.bitcoin' => [
  666.     'wallet.dat'
  667.   ],
  668.   '/var' => [
  669.     'backups/***',
  670.     'cron/***',
  671.     'db/***',
  672.     'log/***',
  673.     'spool/***',
  674.     'spool/mail/***'
  675.   ],
  676.   '/var/lib' => [
  677.     'backuppc/.ssh/***',
  678.     'ccache/ccache.conf',
  679.     'libvirt/***',
  680.     'mail/***',
  681.     'mysql/***',
  682.     'pacman/***',
  683.     'postgres/***'
  684.   ],
  685.   '/boot' => [
  686.     '*.conf',
  687.     '*.key',
  688.     '*.local'
  689.   ],
  690.   '/opt' => [
  691.     'crashplan/conf/***',
  692.     'domoticz/Config/***',
  693.     'domoticz/scripts/***',
  694.     'usermin/**/*.conf',
  695.     'webmin/**/*.conf'
  696.   ],
  697.   '/usr/share/webapps' => [
  698.     'rutorrent/share/***',
  699.     'zabbix/conf/***'
  700.   ]
  701. };
  702.  
  703. #
  704. # List of directories or files to exclude from the backup.  For Smb,
  705. # only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
  706. # can be specified per share.  If both are set for a particular share,
  707. # then $Conf{BackupFilesOnly} takes precedence and
  708. # $Conf{BackupFilesExclude} is ignored.
  709. #
  710. # This can be set to a string, an array of strings, or, in the case
  711. # of multiple shares, a hash of strings or arrays.  A hash is used
  712. # to give a list of directories or files to exclude for each share
  713. # (the share name is the key).  If this is set to just a string or
  714. # array, and $Conf{SmbShareName} contains multiple share names, then
  715. # the setting is assumed to apply to all shares.
  716. #
  717. # The exact behavior is determined by the underlying transport program,
  718. # smbclient or tar.  For smbclient the exclude file list is passed into
  719. # the X option.  Simple shell wild-cards using "*" or "?" are allowed.
  720. #
  721. # For tar, if the exclude file contains a "/" it is assumed to be anchored
  722. # at the start of the string.  Since all the tar paths start with "./",
  723. # BackupPC prepends a "." if the exclude file starts with a "/".  Note
  724. # that GNU tar version >= 1.13.7 is required for the exclude option to
  725. # work correctly.  For linux or unix machines you should add
  726. # "/proc" to $Conf{BackupFilesExclude} unless you have specified
  727. # --one-file-system in $Conf{TarClientCmd} or --one-file-system in
  728. # $Conf{RsyncArgs}.  Also, for tar, do not use a trailing "/" in
  729. # the directory name: a trailing "/" causes the name to not match
  730. # and the directory will not be excluded.
  731. #
  732. # Users report that for smbclient you should specify a directory
  733. # followed by "/*", eg: "/proc/*", instead of just "/proc".
  734. #
  735. # FTP servers are traversed recursively so excluding directories will
  736. # also exclude its contents.  You can use the wildcard characters "*"
  737. # and "?" to define files for inclusion and exclusion.  Both
  738. # attributes $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} can
  739. # be defined for the same share.
  740. #
  741. # If a hash is used, a special key "*" means it applies to all
  742. # shares that don't have a specific entry.
  743. #
  744. # Examples:
  745. #    $Conf{BackupFilesExclude} = '/temp';
  746. #    $Conf{BackupFilesExclude} = ['/temp'];     # same as first example
  747. #    $Conf{BackupFilesExclude} = ['/temp', '/winnt/tmp'];
  748. #    $Conf{BackupFilesExclude} = {
  749. #       'c' => ['/temp', '/winnt/tmp'],         # these are for 'c' share
  750. #       'd' => ['/junk', '/dont_back_this_up'], # these are for 'd' share
  751. #    };
  752. #    $Conf{BackupFilesExclude} = {
  753. #       'c' => ['/temp', '/winnt/tmp'],         # these are for 'c' share
  754. #       '*' => ['/junk', '/dont_back_this_up'], # these are for other shares
  755. #    };
  756. #
  757. $Conf{BackupFilesExclude} = {
  758.   '/var/lib' => [
  759.     'libvirt/images/iso/***'
  760.   ],
  761.   '*' => [
  762.     '.snap/***',
  763.     '.cache/***',
  764.     'Cache/***',
  765.     'cache/***',
  766.     'tmp/***'
  767.   ],
  768.   '/etc' => [
  769.     'mtab'
  770.   ]
  771. };
  772.  
  773. #
  774. # PCs that are always or often on the network can be backed up after
  775. # hours, to reduce PC, network and server load during working hours. For
  776. # each PC a count of consecutive good pings is maintained. Once a PC has
  777. # at least $Conf{BlackoutGoodCnt} consecutive good pings it is subject
  778. # to "blackout" and not backed up during hours and days specified by
  779. # $Conf{BlackoutPeriods}.
  780. #
  781. # To allow for periodic rebooting of a PC or other brief periods when a
  782. # PC is not on the network, a number of consecutive bad pings is allowed
  783. # before the good ping count is reset. This parameter is
  784. # $Conf{BlackoutBadPingLimit}.
  785. #
  786. # Note that bad and good pings don't occur with the same interval. If a
  787. # machine is always on the network, it will only be pinged roughly once
  788. # every $Conf{IncrPeriod} (eg: once per day). So a setting for
  789. # $Conf{BlackoutGoodCnt} of 7 means it will take around 7 days for a
  790. # machine to be subject to blackout. On the other hand, if a ping is
  791. # failed, it will be retried roughly every time BackupPC wakes up, eg,
  792. # every one or two hours. So a setting for $Conf{BlackoutBadPingLimit} of
  793. # 3 means that the PC will lose its blackout status after 3-6 hours of
  794. # unavailability.
  795. #
  796. # To disable the blackout feature set $Conf{BlackoutGoodCnt} to a negative
  797. # value.  A value of 0 will make all machines subject to blackout.  But
  798. # if you don't want to do any backups during the day it would be easier
  799. # to just set $Conf{WakeupSchedule} to a restricted schedule.
  800. #
  801. $Conf{BlackoutBadPingLimit} = 3;
  802. $Conf{BlackoutGoodCnt} = 7;
  803.  
  804. #
  805. # One or more blackout periods can be specified.  If a client is
  806. # subject to blackout then no regular (non-manual) backups will
  807. # be started during any of these periods.  hourBegin and hourEnd
  808. # specify hours from midnight and weekDays is a list of days of
  809. # the week where 0 is Sunday, 1 is Monday etc.
  810. #
  811. # For example:
  812. #
  813. #    $Conf{BlackoutPeriods} = [
  814. #   {
  815. #       hourBegin =>  7.0,
  816. #       hourEnd   => 19.5,
  817. #       weekDays  => [1, 2, 3, 4, 5],
  818. #   },
  819. #    ];
  820. #
  821. # specifies one blackout period from 7:00am to 7:30pm local time
  822. # on Mon-Fri.
  823. #
  824. # The blackout period can also span midnight by setting
  825. # hourBegin > hourEnd, eg:
  826. #
  827. #    $Conf{BlackoutPeriods} = [
  828. #   {
  829. #       hourBegin =>  7.0,
  830. #       hourEnd   => 19.5,
  831. #       weekDays  => [1, 2, 3, 4, 5],
  832. #   },
  833. #   {
  834. #       hourBegin => 23,
  835. #       hourEnd   =>  5,
  836. #       weekDays  => [5, 6],
  837. #   },
  838. #    ];
  839. #
  840. # This specifies one blackout period from 7:00am to 7:30pm local time
  841. # on Mon-Fri, and a second period from 11pm to 5am on Friday and
  842. # Saturday night.
  843. #
  844. $Conf{BlackoutPeriods} = [];
  845.  
  846. #
  847. # A backup of a share that has zero files is considered fatal. This is
  848. # used to catch miscellaneous Xfer errors that result in no files being
  849. # backed up.  If you have shares that might be empty (and therefore an
  850. # empty backup is valid) you should set this flag to 0.
  851. #
  852. $Conf{BackupZeroFilesIsFatal} = '1';
  853.  
  854. ###########################################################################
  855. # How to backup a client
  856. # (can be overridden in the per-PC config.pl)
  857. ###########################################################################
  858. #
  859. # What transport method to use to backup each host.  If you have
  860. # a mixed set of WinXX and linux/unix hosts you will need to override
  861. # this in the per-PC config.pl.
  862. #
  863. # The valid values are:
  864. #
  865. #   - 'smb':     backup and restore via smbclient and the SMB protocol.
  866. #                Easiest choice for WinXX.
  867. #
  868. #   - 'rsync':   backup and restore via rsync (via rsh or ssh).
  869. #                Best choice for linux/unix.  Good choice also for WinXX.
  870. #
  871. #   - 'rsyncd':  backup and restore via rsync daemon on the client.
  872. #                Best choice for linux/unix if you have rsyncd running on
  873. #                the client.  Good choice also for WinXX.
  874. #
  875. #   - 'tar':    backup and restore via tar, tar over ssh, rsh or nfs.
  876. #               Good choice for linux/unix.
  877. #
  878. #   - 'archive': host is a special archive host.  Backups are not done.
  879. #                An archive host is used to archive other host's backups
  880. #                to permanent media, such as tape, CDR or DVD.
  881. #              
  882. #
  883. $Conf{XferMethod} = 'rsync';
  884.  
  885. #
  886. # Level of verbosity in Xfer log files.  0 means be quiet, 1 will give
  887. # will give one line per file, 2 will also show skipped files on
  888. # incrementals, higher values give more output.
  889. #
  890. $Conf{XferLogLevel} = 1;
  891.  
  892. #
  893. # Filename charset encoding on the client.  BackupPC uses utf8
  894. # on the server for filename encoding.  If this is empty, then
  895. # utf8 is assumed and client filenames will not be modified.
  896. # If set to a different encoding then filenames will converted
  897. # to/from utf8 automatically during backup and restore.
  898. #
  899. # If the filenames displayed in the browser (eg: accents or special
  900. # characters) don't look right then it is likely you haven't set
  901. # $Conf{ClientCharset} correctly.
  902. #
  903. # If you are using smbclient on a WinXX machine, smbclient will convert
  904. # to the "unix charset" setting in smb.conf.  The default is utf8,
  905. # in which case leave $Conf{ClientCharset} empty since smbclient does
  906. # the right conversion.
  907. #
  908. # If you are using rsync on a WinXX machine then it does no conversion.
  909. # A typical WinXX encoding for latin1/western europe is 'cp1252',
  910. # so in this case set $Conf{ClientCharset} to 'cp1252'.
  911. #
  912. # On a linux or unix client, run "locale charmap" to see the client's
  913. # charset.  Set $Conf{ClientCharset} to this value.  A typical value
  914. # for english/US is 'ISO-8859-1'.
  915. #
  916. # Do "perldoc Encode::Supported" to see the list of possible charset
  917. # values.  The FAQ at http://www.cl.cam.ac.uk/~mgk25/unicode.html
  918. # is excellent, and http://czyborra.com/charsets/iso8859.html
  919. # provides more information on the iso-8859 charsets.
  920. #
  921. $Conf{ClientCharset} = '';
  922.  
  923. #
  924. # Prior to 3.x no charset conversion was done by BackupPC.  Backups were
  925. # stored in whatever charset the XferMethod provided - typically utf8
  926. # for smbclient and the client's locale settings for rsync and tar (eg:
  927. # cp1252 for rsync on WinXX and perhaps iso-8859-1 with rsync on linux).
  928. # This setting tells BackupPC the charset that was used to store filenames
  929. # in old backups taken with BackupPC 2.x, so that non-ascii filenames in
  930. # old backups can be viewed and restored.
  931. #
  932. $Conf{ClientCharsetLegacy} = 'iso-8859-1';
  933.  
  934. ###########################################################################
  935. # Samba Configuration
  936. # (can be overwritten in the per-PC log file)
  937. ###########################################################################
  938. #
  939. # Name of the host share that is backed up when using SMB.  This can be a
  940. # string or an array of strings if there are multiple shares per host.
  941. # Examples:
  942. #
  943. #   $Conf{SmbShareName} = 'c';          # backup 'c' share
  944. #   $Conf{SmbShareName} = ['c', 'd'];   # backup 'c' and 'd' shares
  945. #
  946. # This setting only matters if $Conf{XferMethod} = 'smb'.
  947. #
  948. $Conf{SmbShareName} = [
  949.   'C$'
  950. ];
  951.  
  952. #
  953. # Smbclient share username.  This is passed to smbclient's -U argument.
  954. #
  955. # This setting only matters if $Conf{XferMethod} = 'smb'.
  956. #
  957. $Conf{SmbShareUserName} = '';
  958.  
  959. #
  960. # Smbclient share password.  This is passed to smbclient via its PASSWD
  961. # environment variable.  There are several ways you can tell BackupPC
  962. # the smb share password.  In each case you should be very careful about
  963. # security.  If you put the password here, make sure that this file is
  964. # not readable by regular users!  See the "Setting up config.pl" section
  965. # in the documentation for more information.
  966. #
  967. # This setting only matters if $Conf{XferMethod} = 'smb'.
  968. #
  969. $Conf{SmbSharePasswd} = '';
  970.  
  971. #
  972. # Full path for smbclient. Security caution: normal users should not
  973. # allowed to write to this file or directory.
  974. #
  975. # smbclient is from the Samba distribution. smbclient is used to
  976. # actually extract the incremental or full dump of the share filesystem
  977. # from the PC.
  978. #
  979. # This setting only matters if $Conf{XferMethod} = 'smb'.
  980. #
  981. $Conf{SmbClientPath} = '/usr/bin/smbclient';
  982.  
  983. #
  984. # Command to run smbclient for a full dump.
  985. # This setting only matters if $Conf{XferMethod} = 'smb'.
  986. #
  987. # The following variables are substituted at run-time:
  988. #
  989. #    $smbClientPath   same as $Conf{SmbClientPath}
  990. #    $host            host to backup/restore
  991. #    $hostIP          host IP address
  992. #    $shareName       share name
  993. #    $userName        username
  994. #    $fileList        list of files to backup (based on exclude/include)
  995. #    $I_option        optional -I option to smbclient
  996. #    $X_option        exclude option (if $fileList is an exclude list)
  997. #    $timeStampFile   start time for incremental dump
  998. #
  999. # Note: all Cmds are executed directly without a shell, so the prog name
  1000. # needs to be a full path and you can't include shell syntax like
  1001. # redirection and pipes; put that in a script if you need it.
  1002. #
  1003. $Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tc$X_option - $fileList';
  1004.  
  1005. #
  1006. # Command to run smbclient for an incremental dump.
  1007. # This setting only matters if $Conf{XferMethod} = 'smb'.
  1008. #
  1009. # Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
  1010. #
  1011. # Note: all Cmds are executed directly without a shell, so the prog name
  1012. # needs to be a full path and you can't include shell syntax like
  1013. # redirection and pipes; put that in a script if you need it.
  1014. #
  1015. $Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList';
  1016.  
  1017. #
  1018. # Command to run smbclient for a restore.
  1019. # This setting only matters if $Conf{XferMethod} = 'smb'.
  1020. #
  1021. # Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
  1022. #
  1023. # If your smb share is read-only then direct restores will fail.
  1024. # You should set $Conf{SmbClientRestoreCmd} to undef and the
  1025. # corresponding CGI restore option will be removed.
  1026. #
  1027. # Note: all Cmds are executed directly without a shell, so the prog name
  1028. # needs to be a full path and you can't include shell syntax like
  1029. # redirection and pipes; put that in a script if you need it.
  1030. #
  1031. $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tx -';
  1032.  
  1033. ###########################################################################
  1034. # Tar Configuration
  1035. # (can be overwritten in the per-PC log file)
  1036. ###########################################################################
  1037. #
  1038. # Which host directories to backup when using tar transport.  This can be a
  1039. # string or an array of strings if there are multiple directories to
  1040. # backup per host.  Examples:
  1041. #
  1042. #   $Conf{TarShareName} = '/';          # backup everything
  1043. #   $Conf{TarShareName} = '/home';      # only backup /home
  1044. #   $Conf{TarShareName} = ['/home', '/src'];    # backup /home and /src
  1045. #
  1046. # The fact this parameter is called 'TarShareName' is for historical
  1047. # consistency with the Smb transport options.  You can use any valid
  1048. # directory on the client: there is no need for it to correspond to
  1049. # any Smb share or device mount point.
  1050. #
  1051. # Note also that you can also use $Conf{BackupFilesOnly} to specify
  1052. # a specific list of directories to backup.  It's more efficient to
  1053. # use this option instead of $Conf{TarShareName} since a new tar is
  1054. # run for each entry in $Conf{TarShareName}.
  1055. #
  1056. # On the other hand, if you add --one-file-system to $Conf{TarClientCmd}
  1057. # you can backup each file system separately, which makes restoring one
  1058. # bad file system easier.  In this case you would list all of the mount
  1059. # points here, since you can't get the same result with
  1060. # $Conf{BackupFilesOnly}:
  1061. #
  1062. #     $Conf{TarShareName} = ['/', '/var', '/data', '/boot'];
  1063. #
  1064. # This setting only matters if $Conf{XferMethod} = 'tar'.
  1065. #
  1066. $Conf{TarShareName} = [
  1067.   '/'
  1068. ];
  1069.  
  1070. #
  1071. # Command to run tar on the client.  GNU tar is required.  You will
  1072. # need to fill in the correct paths for ssh2 on the local host (server)
  1073. # and GNU tar on the client.  Security caution: normal users should not
  1074. # allowed to write to these executable files or directories.
  1075. #
  1076. # $Conf{TarClientCmd} is appended with with either $Conf{TarFullArgs} or
  1077. # $Conf{TarIncrArgs} to create the final command that is run.
  1078. #
  1079. # See the documentation for more information about setting up ssh2 keys.
  1080. #
  1081. # If you plan to use NFS then tar just runs locally and ssh2 is not needed.
  1082. # For example, assuming the client filesystem is mounted below /mnt/hostName,
  1083. # you could use something like:
  1084. #
  1085. #    $Conf{TarClientCmd} = '$tarPath -c -v -f - -C /mnt/$host/$shareName'
  1086. #                        . ' --totals';
  1087. #
  1088. # In the case of NFS or rsh you need to make sure BackupPC's privileges
  1089. # are sufficient to read all the files you want to backup.  Also, you
  1090. # will probably want to add "/proc" to $Conf{BackupFilesExclude}.
  1091. #
  1092. # The following variables are substituted at run-time:
  1093. #
  1094. #   $host        hostname
  1095. #   $hostIP      host's IP address
  1096. #   $incrDate    newer-than date for incremental backups
  1097. #   $shareName   share name to backup (ie: top-level directory path)
  1098. #   $fileList    specific files to backup or exclude
  1099. #   $tarPath     same as $Conf{TarClientPath}
  1100. #   $sshPath     same as $Conf{SshPath}
  1101. #
  1102. # If a variable is followed by a "+" it is shell escaped.  This is
  1103. # necessary for the command part of ssh or rsh, since it ends up
  1104. # getting passed through the shell.
  1105. #
  1106. # This setting only matters if $Conf{XferMethod} = 'tar'.
  1107. #
  1108. # Note: all Cmds are executed directly without a shell, so the prog name
  1109. # needs to be a full path and you can't include shell syntax like
  1110. # redirection and pipes; put that in a script if you need it.
  1111. #
  1112. $Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host env LC_ALL=C $tarPath -c -v -f - -C $shareName+ --totals';
  1113.  
  1114. #
  1115. # Extra tar arguments for full backups.  Several variables are substituted at
  1116. # run-time.  See $Conf{TarClientCmd} for the list of variable substitutions.
  1117. #
  1118. # If you are running tar locally (ie: without rsh or ssh) then remove the
  1119. # "+" so that the argument is no longer shell escaped.
  1120. #
  1121. # This setting only matters if $Conf{XferMethod} = 'tar'.
  1122. #
  1123. $Conf{TarFullArgs} = '$fileList+';
  1124.  
  1125. #
  1126. # Extra tar arguments for incr backups.  Several variables are substituted at
  1127. # run-time.  See $Conf{TarClientCmd} for the list of variable substitutions.
  1128. #
  1129. # Note that GNU tar has several methods for specifying incremental backups,
  1130. # including:
  1131. #
  1132. #   --newer-mtime $incrDate+
  1133. #          This causes a file to be included if the modification time is
  1134. #          later than $incrDate (meaning its contents might have changed).
  1135. #          But changes in the ownership or modes will not qualify the
  1136. #          file to be included in an incremental.
  1137. #
  1138. #   --newer=$incrDate+
  1139. #          This causes the file to be included if any attribute of the
  1140. #          file is later than $incrDate, meaning either attributes or
  1141. #          the modification time.  This is the default method.  Do
  1142. #          not use --atime-preserve in $Conf{TarClientCmd} above,
  1143. #          otherwise resetting the atime (access time) counts as an
  1144. #          attribute change, meaning the file will always be included
  1145. #          in each new incremental dump.
  1146. #
  1147. # If you are running tar locally (ie: without rsh or ssh) then remove the
  1148. # "+" so that the argument is no longer shell escaped.
  1149. #
  1150. # This setting only matters if $Conf{XferMethod} = 'tar'.
  1151. #
  1152. $Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+';
  1153.  
  1154. #
  1155. # Full command to run tar for restore on the client.  GNU tar is required.
  1156. # This can be the same as $Conf{TarClientCmd}, with tar's -c replaced by -x
  1157. # and ssh's -n removed.
  1158. #
  1159. # See $Conf{TarClientCmd} for full details.
  1160. #
  1161. # This setting only matters if $Conf{XferMethod} = "tar".
  1162. #
  1163. # If you want to disable direct restores using tar, you should set
  1164. # $Conf{TarClientRestoreCmd} to undef and the corresponding CGI
  1165. # restore option will be removed.
  1166. #
  1167. # Note: all Cmds are executed directly without a shell, so the prog name
  1168. # needs to be a full path and you can't include shell syntax like
  1169. # redirection and pipes; put that in a script if you need it.
  1170. #
  1171. $Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner -v -f - -C $shareName+';
  1172.  
  1173. #
  1174. # Full path for tar on the client. Security caution: normal users should not
  1175. # allowed to write to this file or directory.
  1176. #
  1177. # This setting only matters if $Conf{XferMethod} = 'tar'.
  1178. #
  1179. $Conf{TarClientPath} = '/usr/bin/tar';
  1180.  
  1181. ###########################################################################
  1182. # Rsync/Rsyncd Configuration
  1183. # (can be overwritten in the per-PC log file)
  1184. ###########################################################################
  1185. #
  1186. # Path to rsync executable on the client.  If it is set, it is passed to
  1187. # to rsync_bpc using the --rsync-path option.  You can also add sudo,
  1188. # for example:
  1189. #
  1190. #       $Conf{RsyncClientPath} = 'sudo /usr/bin/rsync';
  1191. #
  1192. # For OSX laptop clients, you can use caffeinate to make sure the laptop
  1193. # stays awake during the backup, eg:
  1194. #
  1195. #       $Conf{RsyncClientPath} = '/usr/bin/sudo /usr/bin/caffeinate -ism /usr/bin/rsync';
  1196. #
  1197. # This setting only matters if $Conf{XferMethod} = 'rsync'.
  1198. #
  1199. $Conf{RsyncClientPath} = '/usr/bin/rsync';
  1200.  
  1201. #
  1202. # Full path to rsync_bpc on the server.  Rsync_bpc is the customized
  1203. # version of rsync that is used on the server for rsync and rsyncd
  1204. # transfers.
  1205. #
  1206. $Conf{RsyncBackupPCPath} = '/usr/share/backuppc/bin/rsync_bpc';
  1207.  
  1208. #
  1209. # Ssh arguments for rsync to run ssh to connect to the client.
  1210. # Rather than permit root ssh on the client, it is more secure
  1211. # to just allow ssh via a low-privileged user, and use sudo
  1212. # in $Conf{RsyncClientPath}.
  1213. #
  1214. # This setting only matters if $Conf{XferMethod} = 'rsync'.
  1215. #
  1216. $Conf{RsyncSshArgs} = [
  1217.   '-e',
  1218.   '$sshPath -l root'
  1219. ];
  1220.  
  1221. #
  1222. # Share name to backup.  For $Conf{XferMethod} = "rsync" this should
  1223. # be a file system path, eg '/' or '/home'.
  1224. #
  1225. # For $Conf{XferMethod} = "rsyncd" this should be the name of the module
  1226. # to backup (ie: the name from /etc/rsynd.conf).
  1227. #
  1228. # This can also be a list of multiple file system paths or modules.
  1229. # For example, by adding --one-file-system to $Conf{RsyncArgs} you
  1230. # can backup each file system separately, which makes restoring one
  1231. # bad file system easier.  In this case you would list all of the mount
  1232. # points:
  1233. #
  1234. #     $Conf{RsyncShareName} = ['/', '/var', '/data', '/boot'];
  1235. #
  1236. $Conf{RsyncShareName} = [
  1237.   '/boot',
  1238.   '/esp',
  1239.   '/etc',
  1240.   '/home',
  1241.   '/opt',
  1242.   '/root',
  1243.   '/srv',
  1244.   '/usr/share/webapps',
  1245.   '/var',
  1246.   '/var/lib'
  1247. ];
  1248.  
  1249. #
  1250. # Rsync daemon port on the client, for $Conf{XferMethod} = "rsyncd".
  1251. #
  1252. $Conf{RsyncdClientPort} = 873;
  1253.  
  1254. #
  1255. # Rsync daemon username on client, for $Conf{XferMethod} = "rsyncd".
  1256. # The username and password are stored on the client in whatever file
  1257. # the "secrets file" parameter in rsyncd.conf points to
  1258. # (eg: /etc/rsyncd.secrets).
  1259. #
  1260. $Conf{RsyncdUserName} = '';
  1261.  
  1262. #
  1263. # Rsync daemon username on client, for $Conf{XferMethod} = "rsyncd".
  1264. # The username and password are stored on the client in whatever file
  1265. # the "secrets file" parameter in rsyncd.conf points to
  1266. # (eg: /etc/rsyncd.secrets).
  1267. #
  1268. $Conf{RsyncdPasswd} = '';
  1269.  
  1270. #
  1271. # Additional arguments for a full rsync or rsyncd backup.
  1272. #
  1273. # The --checksum argument causes the client to send full-file checksum
  1274. # for every file (meaning the client reads every file and computes the
  1275. # checksum, which is sent with the file list).  On the server, rsync_bpc
  1276. # will skip any files that have a matching full-file checksum, and size,
  1277. # mtime and number of hardlinks.  Any file that has different attributes
  1278. # will be updating using the block rsync algorithm.
  1279. #
  1280. # In V3, full backups applied the block rsync algorithm to every file,
  1281. # which is a lot slower but a bit more conservative.  To get that
  1282. # behavior, replace --checksum with --ignore-times.
  1283. #
  1284. $Conf{RsyncFullArgsExtra} = [
  1285.   '--checksum'
  1286. ];
  1287.  
  1288. #
  1289. # Arguments to rsync for backup.  Do not edit the first set unless you
  1290. # have a good understanding of rsync options.
  1291. #
  1292. $Conf{RsyncArgs} = [
  1293.   '--super',
  1294.   '--recursive',
  1295.   '--protect-args',
  1296.   '--numeric-ids',
  1297.   '--perms',
  1298.   '--owner',
  1299.   '--group',
  1300.   '-D',
  1301.   '--times',
  1302.   '--links',
  1303.   '--hard-links',
  1304.   '--delete',
  1305.   '--delete-excluded',
  1306.   '--one-file-system',
  1307.   '--partial',
  1308.   '--log-format=log: %o %i %B %8U,%8G %9l %f%L',
  1309.   '--stats'
  1310. ];
  1311.  
  1312. #
  1313. # Additional arguments added to RsyncArgs.  This can be used in
  1314. # combination with $Conf{RsyncArgs} to allow customization of
  1315. # the rsync arguments on a part-client basis.  The standard
  1316. # arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra}
  1317. # can be set on a per-client basis.
  1318. #
  1319. # Examples of additional arguments that should work are --exclude/--include,
  1320. # eg:
  1321. #
  1322. #     $Conf{RsyncArgsExtra} = [
  1323. #           '--exclude', '/proc',
  1324. #           '--exclude', '*.tmp',
  1325. #           '--acls',
  1326. #           '--xattrs',
  1327. #     ];
  1328. #
  1329. # Both $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} are subject
  1330. # to the following variable substitutions:
  1331. #
  1332. #        $client       client name being backed up
  1333. #        $host         hostname (could be different from client name if
  1334. #                                 $Conf{ClientNameAlias} is set)
  1335. #        $hostIP       IP address of host
  1336. #        $confDir      configuration directory path
  1337. #
  1338. # This allows settings of the form:
  1339. #
  1340. #     $Conf{RsyncArgsExtra} = [
  1341. #             '--exclude-from=$confDir/pc/$host.exclude',
  1342. #     ];
  1343. #
  1344. $Conf{RsyncArgsExtra} = [
  1345.   '--filter=: /.backuppc-filter',
  1346.   '--sparse',
  1347.   '--acls',
  1348.   '--xattrs'
  1349. ];
  1350.  
  1351. #
  1352. # Arguments to rsync for restore.  Do not edit the first set unless you
  1353. # have a thorough understanding of how File::RsyncP works.
  1354. #
  1355. # If you want to disable direct restores using rsync (eg: is the module
  1356. # is read-only), you should set $Conf{RsyncRestoreArgs} to undef and
  1357. # the corresponding CGI restore option will be removed.
  1358. #
  1359. # $Conf{RsyncRestoreArgs} is subject to the following variable
  1360. # substitutions:
  1361. #
  1362. #        $client       client name being backed up
  1363. #        $host         hostname (could be different from client name if
  1364. #                                 $Conf{ClientNameAlias} is set)
  1365. #        $hostIP       IP address of host
  1366. #        $confDir      configuration directory path
  1367. #
  1368. # Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}.
  1369. #
  1370. $Conf{RsyncRestoreArgs} = [
  1371.   '--recursive',
  1372.   '--super',
  1373.   '--protect-args',
  1374.   '--numeric-ids',
  1375.   '--perms',
  1376.   '--owner',
  1377.   '--group',
  1378.   '-D',
  1379.   '--times',
  1380.   '--links',
  1381.   '--hard-links',
  1382.   '--delete',
  1383.   '--partial',
  1384.   '--log-format=log: %o %i %B %8U,%8G %9l %f%L',
  1385.   '--stats'
  1386. ];
  1387.  
  1388. ###########################################################################
  1389. # FTP Configuration
  1390. # (can be overwritten in the per-PC log file)
  1391. ##########################################################################
  1392. #
  1393. # Which host directories to backup when using FTP.  This can be a
  1394. # string or an array of strings if there are multiple shares per host.
  1395. #
  1396. # This value must be specified in one of two ways: either as a
  1397. # subdirectory of the 'share root' on the server, or as the absolute
  1398. # path of the directory.
  1399. #
  1400. # In the following example, if the directory /home/username is the
  1401. # root share of the ftp server with the given username, the following
  1402. # two values will back up the same directory:
  1403. #
  1404. #    $Conf{FtpShareName} = 'www';                # www directory
  1405. #    $Conf{FtpShareName} = '/home/username/www'; # same directory
  1406. #
  1407. # Path resolution is not supported; i.e.; you may not have an ftp
  1408. # share path defined as '../otheruser' or '~/games'.
  1409. #
  1410. #  Multiple shares may also be specified, as with other protocols:
  1411. #
  1412. #    $Conf{FtpShareName} = [ 'www',
  1413. #                            'bin',
  1414. #                            'config' ];
  1415. #
  1416. # Note also that you can also use $Conf{BackupFilesOnly} to specify
  1417. # a specific list of directories to backup.  It's more efficient to
  1418. # use this option instead of $Conf{FtpShareName} since a new tar is
  1419. # run for each entry in $Conf{FtpShareName}.
  1420. #
  1421. # This setting only matters if $Conf{XferMethod} = 'ftp'.
  1422. #
  1423. $Conf{FtpShareName} = [
  1424.   ''
  1425. ];
  1426.  
  1427. #
  1428. # FTP username.  This is used to log into the server.
  1429. #
  1430. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1431. #
  1432. $Conf{FtpUserName} = '';
  1433.  
  1434. #
  1435. # FTP user password.  This is used to log into the server.
  1436. #
  1437. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1438. #
  1439. $Conf{FtpPasswd} = '';
  1440.  
  1441. #
  1442. # Whether passive mode is used.  The correct setting depends upon
  1443. # whether local or remote ports are accessible from the other machine,
  1444. # which is affected by any firewall or routers between the FTP server
  1445. # on the client and the BackupPC server.
  1446. #
  1447. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1448. #
  1449. $Conf{FtpPassive} = '1';
  1450.  
  1451. #
  1452. # Transfer block size. This sets the size of the amounts of data in
  1453. # each frame. While undefined, this value takes the default value.
  1454. #
  1455. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1456. #
  1457. $Conf{FtpBlockSize} = 10240;
  1458.  
  1459. #
  1460. # The port of the ftp server.  If undefined, 21 is used.
  1461. #
  1462. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1463. #
  1464. $Conf{FtpPort} = 21;
  1465.  
  1466. #
  1467. # Connection timeout for FTP.  When undefined, the default is 120 seconds.
  1468. #
  1469. # This setting is used only if $Conf{XferMethod} = 'ftp'.
  1470. #
  1471. $Conf{FtpTimeout} = 120;
  1472.  
  1473. #
  1474. # Behaviour when BackupPC encounters symlinks on the FTP share.
  1475. #
  1476. # Symlinks cannot be restored via FTP, so the desired behaviour will
  1477. # be different depending on the setup of the share. The default for
  1478. # this behavior is 1.  Directory shares with more complicated directory
  1479. # structures should consider other protocols.
  1480. #
  1481. $Conf{FtpFollowSymlinks} = '0';
  1482.  
  1483. ###########################################################################
  1484. # Archive Configuration
  1485. # (can be overwritten in the per-PC log file)
  1486. ###########################################################################
  1487. #
  1488. # Archive Destination
  1489. #
  1490. # The Destination of the archive
  1491. # e.g. /tmp for file archive or /dev/nst0 for device archive
  1492. #
  1493. $Conf{ArchiveDest} = '/tmp';
  1494.  
  1495. #
  1496. # Archive Compression type
  1497. #
  1498. # The valid values are:
  1499. #
  1500. #   - 'none':  No Compression
  1501. #
  1502. #   - 'gzip':  Medium Compression. Recommended.
  1503. #
  1504. #   - 'bzip2': High Compression but takes longer.
  1505. #
  1506. $Conf{ArchiveComp} = 'gzip';
  1507.  
  1508. #
  1509. # Archive Parity Files
  1510. #
  1511. # The amount of Parity data to generate, as a percentage
  1512. # of the archive size.
  1513. # Uses the command line par2 (par2cmdline) available from
  1514. # http://parchive.sourceforge.net
  1515. #
  1516. # Only useful for file dumps.
  1517. #
  1518. # Set to 0 to disable this feature.
  1519. #
  1520. $Conf{ArchivePar} = '0';
  1521.  
  1522. #
  1523. # Archive Size Split
  1524. #
  1525. # Only for file archives. Splits the output into
  1526. # the specified size * 1,000,000.
  1527. # e.g. to split into 650,000,000 bytes, specify 650 below.
  1528. #
  1529. # If the value is 0, or if $Conf{ArchiveDest} is an existing file or
  1530. # device (e.g. a streaming tape drive), this feature is disabled.
  1531. #
  1532. $Conf{ArchiveSplit} = 0;
  1533.  
  1534. #
  1535. # Archive Command
  1536. #
  1537. # This is the command that is called to actually run the archive process
  1538. # for each host.  The following variables are substituted at run-time:
  1539. #
  1540. #   $Installdir    The installation directory of BackupPC
  1541. #   $tarCreatePath The path to BackupPC_tarCreate
  1542. #   $splitpath     The path to the split program
  1543. #   $parpath       The path to the par2 program
  1544. #   $host          The host to archive
  1545. #   $backupnumber  The backup number of the host to archive
  1546. #   $compression   The path to the compression program
  1547. #   $compext       The extension assigned to the compression type
  1548. #   $splitsize     The number of bytes to split archives into
  1549. #   $archiveloc    The location to put the archive
  1550. #   $parfile       The amount of parity data to create (percentage)
  1551. #
  1552. # Note: all Cmds are executed directly without a shell, so the prog name
  1553. # needs to be a full path and you can't include shell syntax like
  1554. # redirection and pipes; put that in a script if you need it.
  1555. #
  1556. $Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost $tarCreatePath $splitpath $parpath $host $backupnumber $compression $compext $splitsize $archiveloc $parfile *';
  1557.  
  1558. #
  1559. # Full path for ssh. Security caution: normal users should not
  1560. # allowed to write to this file or directory.
  1561. #
  1562. $Conf{SshPath} = '/usr/bin/ssh';
  1563.  
  1564. #
  1565. # Full path for nmblookup. Security caution: normal users should not
  1566. # allowed to write to this file or directory.
  1567. #
  1568. # nmblookup is from the Samba distribution. nmblookup is used to get the
  1569. # netbios name, necessary for DHCP hosts.
  1570. #
  1571. $Conf{NmbLookupPath} = '/usr/bin/nmblookup';
  1572.  
  1573. #
  1574. # NmbLookup command.  Given an IP address, does an nmblookup on that
  1575. # IP address.  The following variables are substituted at run-time:
  1576. #
  1577. #   $nmbLookupPath      path to nmblookup ($Conf{NmbLookupPath})
  1578. #   $host               IP address
  1579. #
  1580. # This command is only used for DHCP hosts: given an IP address, this
  1581. # command should try to find its NetBios name.
  1582. #
  1583. # Note: all Cmds are executed directly without a shell, so the prog name
  1584. # needs to be a full path and you can't include shell syntax like
  1585. # redirection and pipes; put that in a script if you need it.
  1586. #
  1587. $Conf{NmbLookupCmd} = '$nmbLookupPath -A $host';
  1588.  
  1589. #
  1590. # NmbLookup command.  Given a netbios name, finds that host by doing
  1591. # a NetBios lookup.  Several variables are substituted at run-time:
  1592. #
  1593. #   $nmbLookupPath      path to nmblookup ($Conf{NmbLookupPath})
  1594. #   $host               NetBios name
  1595. #
  1596. # In some cases you might need to change the broadcast address, for
  1597. # example if nmblookup uses 192.168.255.255 by default and you find
  1598. # that doesn't work, try 192.168.1.255 (or your equivalent class C
  1599. # address) using the -B option:
  1600. #
  1601. #    $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -B 192.168.1.255 $host';
  1602. #
  1603. # If you use a WINS server and your machines don't respond to
  1604. # multicast NetBios requests you can use this (replace 1.2.3.4
  1605. # with the IP address of your WINS server):
  1606. #
  1607. #    $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -R -U 1.2.3.4 $host';
  1608. #
  1609. # This is preferred over multicast since it minimizes network traffic.
  1610. #
  1611. # Experiment manually for your site to see what form of nmblookup command
  1612. # works.
  1613. #
  1614. # Note: all Cmds are executed directly without a shell, so the prog name
  1615. # needs to be a full path and you can't include shell syntax like
  1616. # redirection and pipes; put that in a script if you need it.
  1617. #
  1618. $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host';
  1619.  
  1620. #
  1621. # For fixed IP address hosts, BackupPC_dump can also verify the netbios
  1622. # name to ensure it matches the hostname.  An error is generated if
  1623. # they do not match.  Typically this flag is off.  But if you are going
  1624. # to transition a bunch of machines from fixed host addresses to DHCP,
  1625. # setting this flag is a great way to verify that the machines have
  1626. # their netbios name set correctly before turning on DHCP.
  1627. #
  1628. $Conf{FixedIPNetBiosNameCheck} = '0';
  1629.  
  1630. #
  1631. # Full path to the ping command.  Security caution: normal users
  1632. # should not be allowed to write to this file or directory.
  1633. #
  1634. # If you want to disable ping checking, set this to some program
  1635. # that exits with 0 status, eg:
  1636. #
  1637. #     $Conf{PingPath} = '/bin/echo';
  1638. #
  1639. $Conf{PingPath} = '/usr/bin/ping';
  1640.  
  1641. #
  1642. # Like PingPath, but for IPv6.  Security caution: normal users
  1643. # should not be allowed to write to this file or directory.
  1644. # In some environments, this is something like '/usr/bin/ping6'.
  1645. # In modern environments, the regular ping command can handle both
  1646. # IPv4 and IPv6. In the latter case, just set it to $Conf{PingPath}
  1647. #
  1648. # If you want to disable ping checking for IPv6 hosts, set this to
  1649. # some program that exits with 0 status, eg:
  1650. #
  1651. #     $Conf{Ping6Path} = '/bin/echo';
  1652. #
  1653. $Conf{Ping6Path} = '/usr/bin/ping';
  1654.  
  1655. #
  1656. # Ping command.  The following variables are substituted at run-time:
  1657. #
  1658. #   $pingPath      path to ping ($Conf{PingPath} or $Conf{Ping6Path})
  1659. #                  depending on the address type of $host.
  1660. #   $host          hostname
  1661. #
  1662. # Wade Brown reports that on solaris 2.6 and 2.7 ping -s returns the wrong
  1663. # exit status (0 even on failure).  Replace with "ping $host 1", which
  1664. # gets the correct exit status but we don't get the round-trip time.
  1665. #
  1666. # Note: all Cmds are executed directly without a shell, so the prog name
  1667. # needs to be a full path and you can't include shell syntax like
  1668. # redirection and pipes; put that in a script if you need it.
  1669. #
  1670. $Conf{PingCmd} = '$pingPath -c 1 $host';
  1671.  
  1672. #
  1673. # Maximum round-trip ping time in milliseconds.  This threshold is set
  1674. # to avoid backing up PCs that are remotely connected through WAN or
  1675. # dialup connections.  The output from ping -s (assuming it is supported
  1676. # on your system) is used to check the round-trip packet time.  On your
  1677. # local LAN round-trip times should be much less than 20msec.  On most
  1678. # WAN or dialup connections the round-trip time will be typically more
  1679. # than 20msec.  Tune if necessary.
  1680. #
  1681. $Conf{PingMaxMsec} = 20;
  1682.  
  1683. #
  1684. # Compression level to use on files.  0 means no compression.  Compression
  1685. # levels can be from 1 (least cpu time, slightly worse compression) to
  1686. # 9 (most cpu time, slightly better compression).  The recommended value
  1687. # is 3.  Changing to 5, for example, will take maybe 20% more cpu time
  1688. # and will get another 2-3% additional compression. See the zlib
  1689. # documentation for more information about compression levels.
  1690. #
  1691. # Changing compression on or off after backups have already been done
  1692. # will require both compressed and uncompressed pool files to be stored.
  1693. # This will increase the pool storage requirements, at least until all
  1694. # the old backups expire and are deleted.
  1695. #
  1696. # It is ok to change the compression value (from one non-zero value to
  1697. # another non-zero value) after dumps are already done.  Since BackupPC
  1698. # matches pool files by comparing the uncompressed versions, it will still
  1699. # correctly match new incoming files against existing pool files.  The
  1700. # new compression level will take effect only for new files that are
  1701. # newly compressed and added to the pool.
  1702. #
  1703. # If compression was off and you are enabling compression for the first
  1704. # time you can use the BackupPC_compressPool utility to compress the
  1705. # pool.  This avoids having the pool grow to accommodate both compressed
  1706. # and uncompressed backups.  See the documentation for more information.
  1707. #
  1708. $Conf{CompressLevel} = 5;
  1709.  
  1710. #
  1711. # Timeout in seconds when listening for the transport program's
  1712. # (smbclient, tar etc) stdout. If no output is received during this
  1713. # time, then it is assumed that something has wedged during a backup,
  1714. # and the backup is terminated.
  1715. #
  1716. # Note that stdout buffering combined with huge files being backed up
  1717. # could cause longish delays in the output from smbclient that
  1718. # BackupPC_dump sees, so in some cases you might want to increase
  1719. # this value.
  1720. #
  1721. # For rsync, this is passed onto rsync_bpc using the --timeout argument,
  1722. # which is based on any I/O, so you could likely reduce this value.
  1723. #
  1724. $Conf{ClientTimeout} = 72000;
  1725.  
  1726. #
  1727. # Maximum number of log files we keep around in each PC's directory
  1728. # (ie: pc/$host).  These files are aged monthly.  A setting of 12
  1729. # means there will be at most the files LOG, LOG.0, LOG.1, ... LOG.11
  1730. # in the pc/$host directory (ie: about a year's worth).  (Except this
  1731. # month's LOG, these files will have a .z extension if compression
  1732. # is on).
  1733. #
  1734. # If you decrease this number after BackupPC has been running for a
  1735. # while you will have to manually remove the older log files.
  1736. #
  1737. $Conf{MaxOldPerPCLogFiles} = 12;
  1738.  
  1739. #
  1740. # Optional commands to run before and after dumps and restores,
  1741. # and also before and after each share of a dump.
  1742. #
  1743. # Stdout from these commands will be written to the Xfer (or Restore)
  1744. # log file.  One example of using these commands would be to
  1745. # shut down and restart a database server, dump a database
  1746. # to files for backup, or doing a snapshot of a share prior
  1747. # to a backup.  Example:
  1748. #
  1749. #    $Conf{DumpPreUserCmd} = '$sshPath -q -x -l root $host /usr/bin/dumpMysql';
  1750. #
  1751. # The following variable substitutions are made at run time for
  1752. # $Conf{DumpPreUserCmd}, $Conf{DumpPostUserCmd}, $Conf{DumpPreShareCmd}
  1753. # and $Conf{DumpPostShareCmd}:
  1754. #
  1755. #        $type         type of dump (incr or full)
  1756. #        $xferOK       1 if the dump succeeded, 0 if it didn't
  1757. #        $client       client name being backed up
  1758. #        $host         hostname (could be different from client name if
  1759. #                                 $Conf{ClientNameAlias} is set)
  1760. #        $hostIP       IP address of host
  1761. #        $user         username from the hosts file
  1762. #        $moreUsers    list of additional users from the hosts file
  1763. #        $share        the first share name (or current share for
  1764. #                        $Conf{DumpPreShareCmd} and $Conf{DumpPostShareCmd})
  1765. #        $shares       list of all the share names
  1766. #        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
  1767. #        $sshPath      value of $Conf{SshPath},
  1768. #        $cmdType      set to DumpPreUserCmd or DumpPostUserCmd
  1769. #
  1770. # The following variable substitutions are made at run time for
  1771. # $Conf{RestorePreUserCmd} and $Conf{RestorePostUserCmd}:
  1772. #
  1773. #        $client       client name being backed up
  1774. #        $xferOK       1 if the restore succeeded, 0 if it didn't
  1775. #        $host         hostname (could be different from client name if
  1776. #                                 $Conf{ClientNameAlias} is set)
  1777. #        $hostIP       IP address of host
  1778. #        $user         username from the hosts file
  1779. #        $moreUsers    list of additional users from the hosts file
  1780. #        $share        the first share name
  1781. #        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
  1782. #        $sshPath      value of $Conf{SshPath},
  1783. #        $type         set to "restore"
  1784. #        $bkupSrcHost  hostname of the restore source
  1785. #        $bkupSrcShare share name of the restore source
  1786. #        $bkupSrcNum   backup number of the restore source
  1787. #        $pathHdrSrc   common starting path of restore source
  1788. #        $pathHdrDest  common starting path of destination
  1789. #        $fileList     list of files being restored
  1790. #        $cmdType      set to RestorePreUserCmd or RestorePostUserCmd
  1791. #
  1792. # The following variable substitutions are made at run time for
  1793. # $Conf{ArchivePreUserCmd} and $Conf{ArchivePostUserCmd}:
  1794. #
  1795. #        $client       client name being backed up
  1796. #        $xferOK       1 if the archive succeeded, 0 if it didn't
  1797. #        $host         Name of the archive host
  1798. #        $user         username from the hosts file
  1799. #        $share        the first share name
  1800. #        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
  1801. #        $HostList     list of hosts being archived
  1802. #        $BackupList   list of backup numbers for the hosts being archived
  1803. #        $archiveloc   location where the archive is sent to
  1804. #        $parfile      amount of parity data being generated (percentage)
  1805. #        $compression  compression program being used (eg: cat, gzip, bzip2)
  1806. #        $compext      extension used for compression type (eg: raw, gz, bz2)
  1807. #        $splitsize    size of the files that the archive creates
  1808. #        $sshPath      value of $Conf{SshPath},
  1809. #        $type         set to "archive"
  1810. #        $cmdType      set to ArchivePreUserCmd or ArchivePostUserCmd
  1811. #
  1812. # Note: all Cmds are executed directly without a shell, so the prog name
  1813. # needs to be a full path and you can't include shell syntax like
  1814. # redirection and pipes; put that in a script if you need it.
  1815. #
  1816. $Conf{DumpPreUserCmd} = undef;
  1817. $Conf{DumpPostUserCmd} = undef;
  1818. $Conf{DumpPreShareCmd} = undef;
  1819. $Conf{DumpPostShareCmd} = undef;
  1820. $Conf{RestorePreUserCmd} = undef;
  1821. $Conf{RestorePostUserCmd} = undef;
  1822. $Conf{ArchivePreUserCmd} = undef;
  1823. $Conf{ArchivePostUserCmd} = undef;
  1824.  
  1825. #
  1826. # Whether the exit status of each PreUserCmd and
  1827. # PostUserCmd is checked.
  1828. #
  1829. # If set and the Dump/Restore/Archive Pre/Post UserCmd
  1830. # returns a non-zero exit status then the dump/restore/archive
  1831. # is aborted.  To maintain backward compatibility (where
  1832. # the exit status in early versions was always ignored),
  1833. # this flag defaults to 0.
  1834. #
  1835. # If this flag is set and the Dump/Restore/Archive PreUserCmd
  1836. # fails then the matching Dump/Restore/Archive PostUserCmd is
  1837. # not executed.  If DumpPreShareCmd returns a non-exit status,
  1838. # then DumpPostShareCmd is not executed, but the DumpPostUserCmd
  1839. # is still run (since DumpPreUserCmd must have previously
  1840. # succeeded).
  1841. #
  1842. # An example of a DumpPreUserCmd that might fail is a script
  1843. # that snapshots or dumps a database which fails because
  1844. # of some database error.
  1845. #
  1846. $Conf{UserCmdCheckStatus} = '0';
  1847.  
  1848. #
  1849. # Override the client's hostname.  This allows multiple clients
  1850. # to all refer to the same physical host.  This should only be
  1851. # set in the per-PC config file and is only used by BackupPC at
  1852. # the last moment prior to checking the host is alive, and generating
  1853. # the command used to backup # that machine (ie: the value of
  1854. # $Conf{ClientNameAlias} is invisible everywhere else in BackupPC).
  1855. # The setting can be a hostname or IP address, eg:
  1856. #
  1857. #         $Conf{ClientNameAlias} = 'realHostName';
  1858. #         $Conf{ClientNameAlias} = '192.1.1.15';
  1859. #
  1860. # which will cause the relevant smb/tar/rsync backup/restore commands
  1861. # to be directed to realHostName or the IP address, not the client name.
  1862. #
  1863. # It can also be an array, to allow checking (in order) of several
  1864. # host names or IP addresses that refer to the same host.  For example,
  1865. # if your client has a wired and wireless connection you could set:
  1866. #
  1867. #         $Conf{ClientNameAlias} = ['hostname-lan', 'hostname-wifi'];
  1868. #
  1869. # If hostname-lan is alive, it will be used for the backup/restore.
  1870. # If not, the next name (hostname-wifi) is tested.
  1871. #
  1872. # Note: this setting doesn't work for hosts with DHCP set to 1.
  1873. #
  1874. $Conf{ClientNameAlias} = undef;
  1875.  
  1876. ###########################################################################
  1877. # Email reminders, status and messages
  1878. # (can be overridden in the per-PC config.pl)
  1879. ###########################################################################
  1880. #
  1881. # Full path to the sendmail command.  Security caution: normal users
  1882. # should not allowed to write to this file or directory.
  1883. #
  1884. $Conf{SendmailPath} = '/usr/bin/sendmail';
  1885.  
  1886. #
  1887. # Minimum period between consecutive emails to a single user.
  1888. # This tries to keep annoying email to users to a reasonable
  1889. # level.  Email checks are done nightly, so this number is effectively
  1890. # rounded up (ie: 2.5 means a user will never receive email more
  1891. # than once every 3 days).
  1892. #
  1893. $Conf{EMailNotifyMinDays} = '2.5';
  1894.  
  1895. #
  1896. # Name to use as the "from" name for email.  Depending upon your mail
  1897. # handler this is either a plain name (eg: "admin") or a fully-qualified
  1898. # name (eg: "admin@mydomain.com").
  1899. #
  1900. $Conf{EMailFromUserName} = 'backuppc@myhost.localdomain';
  1901.  
  1902. #
  1903. # Destination address to an administrative user who will receive a
  1904. # nightly email with warnings and errors.  If there are no warnings
  1905. # or errors then no email will be sent.  Depending upon your mail
  1906. # handler this is either a plain name (eg: "admin") or a fully-qualified
  1907. # name (eg: "admin@mydomain.com").
  1908. #
  1909. $Conf{EMailAdminUserName} = 'root@hexadecagram.org';
  1910.  
  1911. #
  1912. # Destination domain name for email sent to users.  By default
  1913. # this is empty, meaning email is sent to plain, unqualified
  1914. # addresses.  Otherwise, set it to the destination domain, eg:
  1915. #
  1916. #    $Cong{EMailUserDestDomain} = '@mydomain.com';
  1917. #
  1918. # With this setting user email will be set to 'user@mydomain.com'.
  1919. #
  1920. $Conf{EMailUserDestDomain} = '@hexadecagram.org';
  1921.  
  1922. #
  1923. # This subject and message is sent to a user if their PC has never been
  1924. # backed up.
  1925. #
  1926. # These values are language-dependent.  The default versions can be
  1927. # found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
  1928. # need to change the message, copy it here and edit it, eg:
  1929. #
  1930. #   $Conf{EMailNoBackupEverMesg} = <<'EOF';
  1931. #   To: $user$domain
  1932. #   cc:
  1933. #   Subject: $subj
  1934. #  
  1935. #   Dear $userName,
  1936. #  
  1937. #   This is a site-specific email message.
  1938. #   EOF
  1939. #
  1940. $Conf{EMailNoBackupEverSubj} = undef;
  1941. $Conf{EMailNoBackupEverMesg} = undef;
  1942.  
  1943. #
  1944. # How old the most recent backup has to be before notifying user.
  1945. # When there have been no backups in this number of days the user
  1946. # is sent an email.
  1947. #
  1948. $Conf{EMailNotifyOldBackupDays} = 7;
  1949.  
  1950. #
  1951. # This subject and message is sent to a user if their PC has not recently
  1952. # been backed up (ie: more than $Conf{EMailNotifyOldBackupDays} days ago).
  1953. #
  1954. # These values are language-dependent.  The default versions can be
  1955. # found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
  1956. # need to change the message, copy it here and edit it, eg:
  1957. #
  1958. #   $Conf{EMailNoBackupRecentMesg} = <<'EOF';
  1959. #   To: $user$domain
  1960. #   cc:
  1961. #   Subject: $subj
  1962. #  
  1963. #   Dear $userName,
  1964. #  
  1965. #   This is a site-specific email message.
  1966. #   EOF
  1967. #
  1968. $Conf{EMailNoBackupRecentSubj} = undef;
  1969. $Conf{EMailNoBackupRecentMesg} = undef;
  1970.  
  1971. #
  1972. # How old the most recent backup of Outlook files has to be before
  1973. # notifying user.
  1974. #
  1975. $Conf{EMailNotifyOldOutlookDays} = 5;
  1976.  
  1977. #
  1978. # This subject and message is sent to a user if their Outlook files have
  1979. # not recently been backed up (ie: more than $Conf{EMailNotifyOldOutlookDays}
  1980. # days ago).
  1981. #
  1982. # These values are language-dependent.  The default versions can be
  1983. # found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
  1984. # need to change the message, copy it here and edit it, eg:
  1985. #
  1986. #   $Conf{EMailOutlookBackupMesg} = <<'EOF';
  1987. #   To: $user$domain
  1988. #   cc:
  1989. #   Subject: $subj
  1990. #  
  1991. #   Dear $userName,
  1992. #  
  1993. #   This is a site-specific email message.
  1994. #   EOF
  1995. #
  1996. $Conf{EMailOutlookBackupSubj} = undef;
  1997. $Conf{EMailOutlookBackupMesg} = undef;
  1998.  
  1999. #
  2000. # Additional email headers.  This sets to charset to
  2001. # utf8.
  2002. #
  2003. $Conf{EMailHeaders} = 'MIME-Version: 1.0
  2004. Content-Type: text/plain; charset="utf-8"
  2005. ';
  2006.  
  2007. ###########################################################################
  2008. # CGI user interface configuration settings
  2009. # (can be overridden in the per-PC config.pl)
  2010. ###########################################################################
  2011. #
  2012. # Normal users can only access information specific to their host.
  2013. # They can start/stop/browse/restore backups.
  2014. #
  2015. # Administrative users have full access to all hosts, plus overall
  2016. # status and log information.
  2017. #
  2018. # The administrative users are the union of the unix/linux group
  2019. # $Conf{CgiAdminUserGroup} and the manual list of users, separated
  2020. # by spaces, in $Conf{CgiAdminUsers}. If you don't want a group or
  2021. # manual list of users set the corresponding configuration setting
  2022. # to undef or an empty string.
  2023. #
  2024. # If you want every user to have admin privileges (careful!), set
  2025. # $Conf{CgiAdminUsers} = '*'.
  2026. #
  2027. # Examples:
  2028. #    $Conf{CgiAdminUserGroup} = 'admin';
  2029. #    $Conf{CgiAdminUsers}     = 'craig celia';
  2030. #    --> administrative users are the union of group admin, plus
  2031. #      craig and celia.
  2032. #
  2033. #    $Conf{CgiAdminUserGroup} = '';
  2034. #    $Conf{CgiAdminUsers}     = 'craig celia';
  2035. #    --> administrative users are only craig and celia'.
  2036. #
  2037. $Conf{CgiAdminUserGroup} = 'backuppc';
  2038. $Conf{CgiAdminUsers} = 'admin';
  2039.  
  2040. #
  2041. # TCP port number of the SCGI server.  A negative value disables the
  2042. # SCGI server.  Set to any available unprivileged TCP port number,
  2043. # eg: 10268.  Apache needs the mod_scgi module installed, and you will
  2044. # need to set the same port number in the Apache configuration. Here
  2045. # are some typical settings you'll need in Apache's httpd.conf:
  2046. #
  2047. #    LoadModule scgi_module modules/mod_scgi.so
  2048. #    SCGIMount /BackupPC_Admin 127.0.0.1:10268
  2049. #    <Location /BackupPC_Admin>
  2050. #        AuthUserFile /etc/httpd/conf/passwd
  2051. #        AuthType basic
  2052. #        AuthName "access"
  2053. #        require valid-user
  2054. #    </Location>
  2055. #
  2056. # Important security warning!!  The SCGIServerPort must not be
  2057. # accessible by anyone untrusted.  That means you can't allow
  2058. # untrusted users access to the BackupPC server, and you should
  2059. # block the SCGIServerPort TCP port on the BackupPC server.  If you
  2060. # don't understand what that means, or can't confirm you have
  2061. # configured SCGI securely, then don't enable it!!
  2062. #
  2063. $Conf{SCGIServerPort} = 10268;
  2064.  
  2065. #
  2066. # Full URL of the BackupPC_Admin CGI script, or the configured path
  2067. # for SCGI.  Used for links in email messages.
  2068. #
  2069. $Conf{CgiURL} = 'http://__HOSTNAME__/BackupPC_Admin';
  2070.  
  2071. #
  2072. # Full path to the rrdtool command.  If available, graphs of pool usage
  2073. # will be generated.  If empty, then the graphs will be skipped.
  2074. #
  2075. # Security caution: normal users should not allowed to write to this file
  2076. # or directory.
  2077. #
  2078. $Conf{RrdToolPath} = '/usr/bin/rrdtool';
  2079.  
  2080. #  
  2081. # Language to use.  See lib/BackupPC/Lang for the list of supported
  2082. # languages, which include English (en), French (fr), Spanish (es),
  2083. # German (de), Italian (it), Dutch (nl), Polish (pl), Portuguese
  2084. # Brazilian (pt_br) and Chinese (zh_CH).
  2085. #
  2086. # Currently the Language setting applies to the CGI interface and email
  2087. # messages sent to users.  Log files and other text are still in English.
  2088. #
  2089. $Conf{Language} = 'en';
  2090.  
  2091. #
  2092. # User names that are rendered by the CGI interface can be turned
  2093. # into links into their home page or other information about the
  2094. # user.  To set this up you need to create two sprintf() strings,
  2095. # that each contain a single '%s' that will be replaced by the user
  2096. # name.  The default is a mailto: link.
  2097. #
  2098. # $Conf{CgiUserHomePageCheck} should be an absolute file path that
  2099. # is used to check (via "-f") that the user has a valid home page.
  2100. # Set this to undef or an empty string to turn off this check.
  2101. #
  2102. # $Conf{CgiUserUrlCreate} should be a full URL that points to the
  2103. # user's home page.  Set this to undef or an empty string to turn
  2104. # off generation of URLs for usernames.
  2105. #
  2106. # Example:
  2107. #    $Conf{CgiUserHomePageCheck} = '/var/www/html/users/%s.html';
  2108. #    $Conf{CgiUserUrlCreate}     = 'http://myhost/users/%s.html';
  2109. #    --> if /var/www/html/users/craig.html exists, then 'craig' will
  2110. #      be rendered as a link to http://myhost/users/craig.html.
  2111. #
  2112. $Conf{CgiUserHomePageCheck} = '';
  2113. $Conf{CgiUserUrlCreate} = 'mailto:%s';
  2114.  
  2115. #
  2116. # Date display format for CGI interface.  A value of 1 uses US-style
  2117. # dates (MM/DD), a value of 2 uses full YYYY-MM-DD format, and zero
  2118. # for international dates (DD/MM).
  2119. #
  2120. $Conf{CgiDateFormatMMDD} = 1;
  2121.  
  2122. #
  2123. # If set, the complete list of hosts appears in the left navigation
  2124. # bar pull-down for administrators.  Otherwise, just the hosts for which
  2125. # the user is listed in the host file (as either the user or in moreUsers)
  2126. # are displayed.
  2127. #
  2128. $Conf{CgiNavBarAdminAllHosts} = '1';
  2129.  
  2130. #
  2131. # Enable/disable the search box in the navigation bar.
  2132. #
  2133. $Conf{CgiSearchBoxEnable} = '1';
  2134.  
  2135. #
  2136. # Additional navigation bar links.  These appear for both regular users
  2137. # and administrators.  This is a list of hashes giving the link (URL)
  2138. # and the text (name) for the link.  Specifying lname instead of name
  2139. # uses the language specific string (ie: $Lang->{lname}) instead of
  2140. # just literally displaying name.
  2141. #
  2142. $Conf{CgiNavBarLinks} = [
  2143.   {
  2144.     'link' => '?action=view&type=docs',
  2145.     'lname' => 'Documentation',
  2146.     'name' => undef
  2147.   },
  2148.   {
  2149.     'name' => 'Wiki',
  2150.     'lname' => undef,
  2151.     'link' => 'https://github.com/backuppc/backuppc/wiki'
  2152.   },
  2153.   {
  2154.     'name' => 'Github',
  2155.     'lname' => undef,
  2156.     'link' => 'https://backuppc.github.io/backuppc'
  2157.   }
  2158. ];
  2159.  
  2160. #
  2161. # Hilight colors based on status that are used in the PC summary page.
  2162. #
  2163. $Conf{CgiStatusHilightColor} = {
  2164.   'Status_backup_in_progress' => '#66cc99',
  2165.   'Disabled_AllBackupsDisabled' => '#d1d1d1',
  2166.   'Reason_backup_canceled_by_user' => '#ff9900',
  2167.   'Reason_no_ping' => '#ffff99',
  2168.   'Reason_backup_done' => '#ccffcc',
  2169.   'Disabled_OnlyManualBackups' => '#d1d1d1',
  2170.   'Reason_backup_failed' => '#ffcccc'
  2171. };
  2172.  
  2173. #
  2174. # Additional CGI header text.
  2175. #
  2176. $Conf{CgiHeaders} = '<meta http-equiv="pragma" content="no-cache">';
  2177.  
  2178. #
  2179. # Directory where images are stored.  This directory should be below
  2180. # Apache's DocumentRoot.  This value isn't used by BackupPC but is
  2181. # used by configure.pl when you upgrade BackupPC.
  2182. #
  2183. # Example:
  2184. #     $Conf{CgiImageDir} = '/var/www/htdocs/BackupPC';
  2185. #
  2186. $Conf{CgiImageDir} = '/usr/share/backuppc/html';
  2187.  
  2188. #
  2189. # Additional mappings of filename extensions to Content-Type for
  2190. # individual file restore.  See $Ext2ContentType in BackupPC_Admin
  2191. # for the default setting.  You can add additional settings here,
  2192. # or override any default settings.  Example:
  2193. #
  2194. #     $Conf{CgiExt2ContentType} = {
  2195. #                 'pl'  => 'text/plain',
  2196. #          };
  2197. #
  2198. $Conf{CgiExt2ContentType} = {};
  2199.  
  2200. #
  2201. # URL (without the leading http://host) for BackupPC's image directory.
  2202. # The CGI script uses this value to serve up image files.
  2203. #
  2204. # Example:
  2205. #     $Conf{CgiImageDirURL} = '/BackupPC';
  2206. #
  2207. $Conf{CgiImageDirURL} = '/backuppc';
  2208.  
  2209. #
  2210. # CSS stylesheet "skin" for the CGI interface.  It is stored
  2211. # in the $Conf{CgiImageDir} directory and accessed via the
  2212. # $Conf{CgiImageDirURL} URL.
  2213. #
  2214. # For BackupPC v3 and v2 the prior css versions are available
  2215. # as BackupPC_retro_v3.css and BackupPC_retro_v2.css
  2216. #
  2217. $Conf{CgiCSSFile} = 'BackupPC_stnd.css';
  2218.  
  2219. #
  2220. # Whether the user is allowed to edit their per-PC config.
  2221. #
  2222. $Conf{CgiUserConfigEditEnable} = '1';
  2223.  
  2224. #
  2225. # Which per-host config variables a non-admin user is allowed
  2226. # to edit.  Admin users can edit all per-host config variables,
  2227. # even if disabled in this list.
  2228. #
  2229. # SECURITY WARNING: Do not let users edit any of the Cmd
  2230. # config variables!  That's because a user could set a
  2231. # Cmd to a shell script of their choice and it will be
  2232. # run as the BackupPC user.  That script could do all
  2233. # sorts of bad things.
  2234. #
  2235. $Conf{CgiUserConfigEdit} = {
  2236.   'ArchivePostUserCmd' => '0',
  2237.   'ArchiveComp' => '1',
  2238.   'SmbClientRestoreCmd' => '0',
  2239.   'RsyncdClientPort' => '1',
  2240.   'FillCycle' => '1',
  2241.   'SmbClientIncrCmd' => '0',
  2242.   'TarClientRestoreCmd' => '0',
  2243.   'FtpRestoreEnabled' => '1',
  2244.   'ClientNameAlias' => '1',
  2245.   'RestoreInfoKeepCnt' => '1',
  2246.   'EMailNotifyOldBackupDays' => '1',
  2247.   'RsyncFullArgsExtra' => '1',
  2248.   'EMailUserDestDomain' => '1',
  2249.   'BlackoutPeriods' => '1',
  2250.   'EMailHeaders' => '1',
  2251.   'FtpBlockSize' => '1',
  2252.   'RsyncdPasswd' => '1',
  2253.   'EMailOutlookBackupSubj' => '1',
  2254.   'FtpPasswd' => '1',
  2255.   'IncrKeepCntMin' => '1',
  2256.   'CompressLevel' => '1',
  2257.   'XferMethod' => '1',
  2258.   'RsyncRestoreArgs' => '1',
  2259.   'SmbShareName' => '1',
  2260.   'FtpUserName' => '1',
  2261.   'RsyncArgsExtra' => '1',
  2262.   'BlackoutGoodCnt' => '1',
  2263.   'EMailNoBackupEverMesg' => '1',
  2264.   'DumpPostShareCmd' => '0',
  2265.   'FullPeriod' => '1',
  2266.   'ArchiveSplit' => '1',
  2267.   'NmbLookupCmd' => '0',
  2268.   'DumpPreUserCmd' => '0',
  2269.   'DumpPreShareCmd' => '0',
  2270.   'FixedIPNetBiosNameCheck' => '1',
  2271.   'XferLogLevel' => '1',
  2272.   'RsyncClientPath' => '0',
  2273.   'ArchivePar' => '1',
  2274.   'DumpPostUserCmd' => '0',
  2275.   'ArchiveInfoKeepCnt' => '1',
  2276.   'BackupZeroFilesIsFatal' => '1',
  2277.   'TarClientPath' => '0',
  2278.   'IncrAgeMax' => '1',
  2279.   'FtpFollowSymlinks' => '1',
  2280.   'ArchiveClientCmd' => '0',
  2281.   'RestorePostUserCmd' => '0',
  2282.   'ClientCharset' => '1',
  2283.   'EMailNoBackupRecentMesg' => '1',
  2284.   'MaxOldPerPCLogFiles' => '1',
  2285.   'FullAgeMax' => '1',
  2286.   'BlackoutBadPingLimit' => '1',
  2287.   'RsyncdAuthRequired' => '1',
  2288.   'RsyncSshArgs' => '1',
  2289.   'FullKeepCntMin' => '1',
  2290.   'FtpPort' => '1',
  2291.   'EMailOutlookBackupMesg' => '1',
  2292.   'TarIncrArgs' => '1',
  2293.   'RsyncArgs' => '1',
  2294.   'RefCntFsck' => '1',
  2295.   'FullKeepCnt' => '1',
  2296.   'TarShareName' => '1',
  2297.   'IncrPeriod' => '1',
  2298.   'EMailFromUserName' => '1',
  2299.   'ClientCharsetLegacy' => '1',
  2300.   'RestorePreUserCmd' => '0',
  2301.   'BackupFilesOnly' => '1',
  2302.   'BackupFilesExclude' => '1',
  2303.   'ClientTimeout' => '1',
  2304.   'NmbLookupFindHostCmd' => '0',
  2305.   'BackupsDisable' => '1',
  2306.   'UserCmdCheckStatus' => '0',
  2307.   'ArchiveDest' => '1',
  2308.   'TarFullArgs' => '1',
  2309.   'PingCmd' => '0',
  2310.   'TarClientCmd' => '0',
  2311.   'EMailAdminUserName' => '1',
  2312.   'EMailNotifyMinDays' => '1',
  2313.   'EMailNotifyOldOutlookDays' => '1',
  2314.   'SmbShareUserName' => '1',
  2315.   'FtpTimeout' => '1',
  2316.   'FtpShareName' => '1',
  2317.   'SmbSharePasswd' => '1',
  2318.   'RsyncdUserName' => '1',
  2319.   'ArchivePreUserCmd' => '0',
  2320.   'IncrKeepCnt' => '1',
  2321.   'SmbClientFullCmd' => '0',
  2322.   'EMailNoBackupEverSubj' => '1',
  2323.   'EMailNoBackupRecentSubj' => '1',
  2324.   'PingMaxMsec' => '1',
  2325.   'RsyncShareName' => '1'
  2326. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement