amanda、bacula、BackupPC。主从架构程序有很多选项,其配置相当困难。部分有亲和力强的网页接口减轻其负担。但 Debian 还有十多种备份软件可用,以 apt-cache search backup 命令可搜索它们。
rsync 命令 (取自同名的软件包) 用于逐日备份这些服务器。
rsync 命令对之前备份的内容使用硬链接,这样可以避免使用过多的硬盘空间。 然后rsync 进程只覆盖上次备份后修改过的文件。通过这种机制,大量的备份只占用小的磁盘空间。所有的备份会立即生效并且可以读写(例如,在共享网络上的不同目录),可以迅速比较两个不同日期的文件。
dirvish 程序执行。使用备份存储空间(“空”的),放置有时间戳的备份文件集(这些文件集在dirvish 文档中被成为“vaults”)。
/etc/dirvish/master.conf 文件中。它定义了备份存储空间的位置,要管理的“vaults”,和备份超期的默认值。配置的其他部分在 bank/vault/dirvish/default.conf 文件中,包含对应文件集的特殊配置。
例 9.3. /etc/dirvish/master.conf 文件
bank:
/backup
exclude:
lost+found/
core
*~
Runall:
root 22:00
expire-default: +15 days
expire-rule:
# MIN HR DOM MON DOW STRFTIME_FMT
* * * * 1 +3 months
* * 1-7 * 1 +1 year
* * 1-7 1,4,7,10 1bank 设置保存备份的文件夹。exclude 设置不列入备份的文件 (或文件类型)。Runall 是做为备份时间戳记的文件清单,若未在指定的时间备份时,还可以其指定的时间复制文件。可以指定在实际运行时间前 (也就是,缺省在 10:04 pm,根据 /etc/cron.d/dirvish)。最后,expire-default 和 expire-rule 设置备份失效政策。以上的范例永远在每季的第一个星期日运行备份,并在一年后的每月第一个星期日删除它,以及在三个月后的另个星期日删除它。其他的逐日备份则保留 15 天。运行的顺序有关系,Dirvish 使用最后符合的规则,或 expire-default 若无其他的 expire-rule 符合。
例 9.4. /backup/root/dirvish/default.conf 文件
client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y%m%d
exclude:
/var/cache/apt/archives/*.deb
/var/cache/man/**
/tmp/**
/var/tmp/**
*.bakhostname),主要是在根目录下(tree: /),除了在 exclude中列出的文件。备份仅限于一个文件系统中的内容(xdev: 1)。不包含其他挂载点的文件。产生保存文件的索引(index: gzip),镜像根据当前日期进行命名(image-default: %Y%m%d)。
dirvish --vault vault --init 命令来初始化每个文件集。此后每天在删除过期备份之后,就会自动唤起 dirvish-runall 进行备份。