为什么 rsnapshot 的 sync/sync_first 命令每次都会备份我的所有文件?

为什么 rsnapshot 的 sync/sync_first 命令每次都会备份我的所有文件?

我正在尝试让 rsnapshot 进行远程备份(通过 ssh)。我有一个有效的配置,我可以执行所有备份。

在我的配置文件中,我已启用sync_first=1。据我了解,这意味着我必须始终先运行命令rsnapshot sync来实际获取备份文件,然后运行命令rsnapshot hourly来简单地进行符号链接和轮换备份。

现在的问题来了。我不确定这是否是设计使然,但我注意到每次我运行时rsnapshot sync每一个远程计算机上的文件无论自上次备份以来是否发生更改,都会再次备份。这意味着该rsnapshot sync命令需要 1 小时以上。

这是设计的行为吗?

我应该sync在跑步前每小时跑一次吗hourly/daily/weekly

答案1

是的,你应该sync先运行。sync同步到.sync目录。hourly然后旋转.synchourly.0。好消息是,rsnapshot sync在中断后,你可以再次运行,rsnapshot sync它会从中断的地方继续。

我的 crontab 中有这个:

# make backups every 2 hours - and skip hourly backups at night
0 0,6,8,10,12,14,16,18,20,22 * * * /opt/bin/rsnapshot sync && /opt/bin/rsnapshot hourly

# rotate a daily every night at 5
0 5 * * * /opt/bin/rsnapshot daily

请注意,在上述 crontab 中,如果rsnapshot sync生成了警告,但仍能完成备份,它将返回错误代码 2。这意味着rsnapshot hourly将无法运行。如果每次都发生这种情况,那么您就没有任何小时计划,也没有每日计划 - 只有目录.sync

相关内容