![rsnapshot.conf 中的“备份间隔”?](https://linux22.com/image/1034125/rsnapshot.conf%20%E4%B8%AD%E7%9A%84%E2%80%9C%E5%A4%87%E4%BB%BD%E9%97%B4%E9%9A%94%E2%80%9D%EF%BC%9F.png)
关于 rsnapshot 的一个简单问题。
为了执行每日备份,我将在 Ubuntu 中的 cron 中添加行。
那么,为什么在 rsnapshot.conf 中也有这些行?
#########################################
# BACKUP INTERVALS #
# Must be unique and in ascending order #
# i.e. hourly, daily, weekly, etc. #
#########################################
interval hourly 6
interval daily 7
interval weekly 4
#interval monthly 3
如果我使用 cron,我应该禁用它们吗?谢谢
附言:我刚刚意识到在 crontab 中我仍然有“hourly”和“daily”。那么我是否应该只取消注释我在 crontab 中使用的那个?如果已经在 cron 中指定了 hourly,那么指定 hourly 有什么意义呢?我有点困惑。
# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily
答案1
你的 crontab 任务将调用相关的类型要运行的 rsnapshot 作业。如果您运行rsnapshot 每小时您将在输出目录中创建一个名为“hourly.0”的目录。再次运行它,它将创建“hourly.1”。
因此,对于您在 crontab 中启用的每项,文件中都应有相应的间隔行/etc/rsnapshot
。例如,如果您决定不使用每小时间隔,则只需在配置中保留间隔行,但不要运行指定“每小时”的 cron 作业。
造成混淆的唯一原因是默认名称是“每小时”、“每日”等等。这些只是标签,您可以根据需要进行更改。
对于我的 rsnapshot,我使用“daysago”、“weeksago”和“monthsago”:
答案2
不,你不应该禁用它们。
间隔配置告诉 rsnapshot
- 每个级别要保留多少个快照。在您的示例中,6 个“每小时”快照之后,最旧的“每小时”快照将被删除。
- 获取当前快照内容的位置。顶部条目(在本例中为“每小时”)是从源复制而来,而其余条目只是链接到上一级的最新快照。
诸如“每日”和“每周”之类的间隔标签没有任何意义(如果您愿意,可以将它们称为“x”和“y”),但它们必须与您调用 rsnapshot 时传递给它的参数相匹配。
简而言之,您需要两者 - 间隔配置来告诉 rsnapshot 不同间隔如何关联,以及 cron 来执行它。
答案3
例如,如果您决定不使用每小时间隔,那么只需在配置中保留间隔>行,但不要运行指定“每小时”的 cron 作业。
这不太正确,至少对于当前版本的 rsnapshot 来说不是。
rsnapshot.conf 中的第一个“retain”行(例如“hourly”)指示将当前备份复制到哪个名称。其余的则轮换。摘自手册页:
必须在配置文件中按从最频繁到最不频繁的顺序指定备份级别。第一个条目将与备份点同步。后续备份级别(例如每日、每周等)只是轮换,每个较高的备份级别都会从其下方的备份级别中提取其 .0 目录。
因此,如果您不打算调用rsnapshot hourly
,您的 rsnapshot.conf 就不应该有一行retain hourly
。
答案4
“interval”指令实际上取代了以前版本中的“retain”。是的,我知道这很令人困惑,但 jg-faustus 对此解释得很清楚。