配置rsnapshot

查看/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

rsnapshot的安装非常简单,只需运行以下linux命令:

在debian(或者ubuntu)上:

apt-get install rsnapshot

在Fedora:

yum install rsnapshot

在Archlinux:

pacman -S rsnapshot

现在让我们配置rsnapshot。

Linux上使用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

建议您先安排较大的备份,然后再安排较小的备份(如上所示),以防止备份之间的轮换冲突。此外,建议在较大备份和较小备份之间存在一个时间间隔,以避免每个作业之间发生冲突。

日期:2020-07-07 20:56:57 来源:oir作者:oir