我希望从启动时运行一些东西,并使用 cron 触发重新启动。
我在那里使用sudo crontab -e
和添加命令。这些命令与重新启动无关。重新启动并不总是发生。我希望每天早上 4 点重新启动。我添加的行是:
00 4 * * * root /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
我现在改为修改/etc/crontab
以重新启动,并且它似乎有效。为什么是这样?因为命令以 root 身份运行,所以 crontab -e 不应该工作吗?
答案1
如果您这样做crontab -e
,那么您正在修改每个用户cron 条目,通常位于/var/spool/cron/crontabs/$USERNAME
.
由于这些是针对每个用户的,因此不需要用户名。
所以该条目看起来像
00 4 * * * /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
相反,/etc/crontab
(以及 中的文件/etc/cron.d/
)是系统 crontab 条目,因此需要用户名。
您可以cron
通过查看/var/log/syslog
(在 Debian 上;/var/log/cron
在 RedHat 上)来了解正在执行的操作。如果您的作业被调用,那么您的...中应该有一行,daily-backup.log
可能表示它找不到“root”命令。