rsnapshot.conf 中的“备份间隔”?

rsnapshot.conf 中的“备份间隔”?

关于 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 对此解释得很清楚。

相关内容