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