查看/etc,如果/etc/rsnapshot.conf.default存在我们需要将其复制到/etc/rsnapshot.conf。
如果不存在.default文件,则创建常规.conf文件。
打开rsnapshot.conf并开始编辑需求。
rsnapshot的配置文件很好地注释。
我将首先取消注释配置文件的“外部程序依赖性”部分中的所有应用程序。
取消注释以下行:
cmd_rsync /USO/bin/rsync cmd_d /bin/D cmd_rsnapshot_diff /USA/bin/rsnapshot-diff
如果RSNAPSHOT未找到它,则可能需要更改RSNAPSHOT-DIFF的位置。
要确保要引用正确的二进制问题:
whereis rsnapshot-diff
现在,您需要决定如何准确地设计备份方案。
确定方案后,需要编辑“备份间隔”下的“间隔”行。rsnapshot可以每小时、每天、每周和每月进行备份。
我的系统执行七天备份计划,但您可以在此处决定要执行的操作。
例如,可以创建一个备份,该备份每六小时运行一次,每周每天运行一次。
需要取消注释的另外两行是快照根目录(位于脚本开头)和备份目录(位于“备份点/脚本”下)。
snapshot_root $destination/#specifies where your backups are stored . . backup $source/$hastens #backup specifies what you what to backup, you can backup #from multiple locations just specify multiple backup lines
备用线路由三部分组成。这三个部分包括声明“备份”、源位置和加速。每个组件必须由选项卡分隔,目录必须以/结尾,否则rsnapshot将无法正常运行。另外两个值得注意的特性是日志功能和使用rsync的include/exclude文件的能力。
取消以下三行注释(并相应修改):
verbose 5 #How much information should the #actual backup relay to you? loglevel 5 #How must information #should be stored in the log file? logfile $log_file_destination #Where should the logfile be stored?
在阅读.conf文件中的注释时你可能已经注意到,详细程度从1到5不等,其中5是最详细的。我会先启用它,看看是否一切正常。这种级别的控制是有帮助的。如果遇到任何问题,您可以执行一些调试。
如前所述,您还可以使用rsync include和exclude文件,下面是一个exclude文件示例。
#EXCLUDE #not to backup alongside ~ - /home/javier/data/ - /home/javier/$dest/
Include文件本质上是相似的。使用“+”来表示要包含的数据。如果决定使用包含或者排除文件,请查看包含文件/排除文件行。下面是rsnapshot.conf中记录了这些选项。
include_file /home/javier/backup/include.lst exclude_file /home/javier/backup/exclude.lst
rsnapshot基本上配置好了。如果要在rsnapshot完成之前或者之后运行任何操作,请查看cmd_preexec和cmd_postexec行。如果需要,您可以取消对这些行的注释,并指定要在备份完成之前或者之后运行的脚本。否则,您就完成了对配置文件的编辑。现在运行以下linux命令:
rsnapshot configtest
该命令运行rsnapshot并告诉它对rsnapshot.conf执行语法检查。如果一切正常,那么您应该得到以下输出:“Syntax OK”。否则根据需要编辑rsnapshot.conf。
远程备份
要利用rsnapshot的远程备份功能只需将远程位置指定为备份源(要启用远程备份,则必须为服务器启用SSH。
并使用基于密钥身份验证):
backup root@example.com:/home/example.com/
一旦我们将远程源指定为备份的位置,只需运行rsnapshot。
例子如下:
rsnapshot hourly
在本地使用rsnapshot
对于本地备份,重要的两行是:
snapshot_root $dest/ backup $source/$hostname/
您可以指定多个备份源,只需创建多行引用要备份的每个目录即可。
要实际运行备份,执行以下Linux命令:
rsnapshot daily
我们还可以使用 hourly ,weekly 和 monthly作为选项。
每个命令将根据指定操作创建备份目录。
查看备份的位置:
[some_user@hostname backupdir]# ls daily.0 daily.1 log
rsnapshot的安装非常简单,只需运行以下linux命令:
在debian(或者ubuntu)上:
apt-get install rsnapshot
在Fedora:
yum install rsnapshot
在Archlinux:
pacman -S rsnapshot
现在让我们配置rsnapshot。
rsnapshot是用perl编写的备份工具,它使用rsync作为其后端。
rsnapshot允许用户创建自定义增量备份解决方案。
在本教程中,将介绍如何使用rsnapshot创建七天轮换备份方案。
基本上,rsnapshot将创建1个完全备份,然后后续备份将仅备份已更改的文件。
RSNAPShot的真正力量是它在每个备份之间使用硬链接的能力。
每个备份都似乎是一个完整的备份。
实际上,每个新备份都包含新创建或者更新的文件。
我将讨论三种形式的使用rsnapshot。
这些形式包括当地,远程,及其自动化(通过Cron)。
用cron自动化
定时执行备份任务,例如:
20 23 * * * /usr/bin/rsnapshot daily # daily backup is ran at 11:20 pm 05 23 * * 7 /usr/bin/rsnapshot weekly # weekly backup is ran at 11:05 pm # on Sunday
建议您先安排较大的备份,然后再安排较小的备份(如上所示),以防止备份之间的轮换冲突。此外,建议在较大备份和较小备份之间存在一个时间间隔,以避免每个作业之间发生冲突。