我正在尝试为运行 debian stable 的桌面设置定期备份机制。它并不总是开启,所以如果我只使用 cron,我可能会错过所需的时间。但是现在这就是我正在做的事情,因为以下逻辑。
做一些测试,我的每周备份大约需要 3 个小时才能运行。阅读 anacron 手册页意味着时间戳会在作业终止时更新。所以在第一周它在早上 8 点左右运行,然后如果它在最后一个时间戳之后等待一周,那么在第二周它直到上午 11 点之后才会运行(我认为 anacron 在启动时运行,然后通过由控制的每小时计时器运行系统)。这次运行的时间戳将在下午 2 点左右设置。如果我们继续这样下去,时间戳会滑到第二天。更重要的是,它会滑到我要睡觉并关闭机器电源的时候(它正在备份的 NAS 服务器也将关闭)
在 Debian 中似乎试图通过0anacron
在/etc/cron.weekly
目录中调用一个文件来缓解这种情况,该文件将时间戳设置为第一件事,但我无法弄清楚它是如何工作的,因为时间戳仍然会在结束时更新工作。
是否有一种我不明白的机制来阻止 anacron 缓慢(或快速)滑倒运行开始的时间。
引用手册页:
因此,作业开始时间不会根据它们花费的时间而改变,至少只要它们花费不到一整天:您的每周备份作业将在每周大约相同的时间开始运行。
(据我所知,即使它自己不运行它们,它是否也
0anacron
知道anacron
工作cron
。)