每 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