如何每 100 天运行一次 cronjob

如何每 100 天运行一次 cronjob

每 100 天运行一次的命令的 crontab 语法是什么样的?

我需要每 100 天重启一次

答案1

考虑使用systemd 定时器而不是 cron,因为它本身支持跟踪自上次(重新)启动以来的时间。

创建一个文件,reboot.timer例如/etc/systemd/system

[Unit]
Description="Run reboot after 100 days"

[Timer]
OnBootSec=100days
Unit=reboot.service

[Install]
WantedBy=multi-user.target

要启动计时器,请使用命令sudo systemctl start reboot.timer。要在启动时启用计时器,请运行命令sudo systemctl enable reboot.timer

答案2

我需要每 100 天重启一次

这是一个非常可疑的要求。

通过 Cron....

0 23 * * * find /var/run -mtime +99 -name reboottimestamp && touch /var/run/reboottimestamp && /sbin/reboot

使用“at”(从 rc.local 调用)似乎更合适一些……

echo /sbin/reboot | at 11pm +100 days

....但我实际上做的是

0 22 * * * test -f /var/run/reboot-required && /sbin/reboot

相关内容