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 1
bank
设置保存备份的文件夹。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/** *.bak
hostname
),主要是在根目录下(tree: /
),除了在 exclude
中列出的文件。备份仅限于一个文件系统中的内容(xdev: 1
)。不包含其他挂载点的文件。产生保存文件的索引(index: gzip
),镜像根据当前日期进行命名(image-default: %Y%m%d
)。
dirvish --vault vault --init
命令来初始化每个文件集。此后每天在删除过期备份之后,就会自动唤起 dirvish-runall
进行备份。