问题

问题

问题

我有一个脚本要在凌晨 1:32 运行,所以我设置了一个 cronjob

$ crontab -e

在编辑文件中,我有

32 1 * * * /home/user/.scripts/midnightjobs

其中“用户”是我的用户名。然而,这并没有奏效。

我所做的尝试

我尝试在脚本中添加日志记录功能,希望看看出了什么问题。该脚本似乎从未运行过。

我还尝试在上午 7:59 添加另一个 cronjob:

0 8 * * * /home/user/.scripts/midnightjobs

它有效!该脚本运行并在上午 8 点输出了一个日志文件。

我猜

我相信我一直非常小心......并且根据我的第二次尝试,我最好的猜测是我的笔记本电脑(在 archlinux 上运行)在晚上偷偷地睡着了,无法运行 cronjob。

答案1

一些建议:

  1. 查看您的cron日志(可能位于/var/log/syslog或中/var/log/messages)以验证脚本是否正在运行。

  2. 确保您的脚本可执行

  3. 确保您的脚本在手动运行时正确运行

  4. 请记住,通过 运行脚本时您有不同的环境cron,因此您的路径等内容可能会有所不同,从而导致脚本中出现错误

  5. 添加> /tmp/cron.output.log到行末尾crontab,将脚本输出写入您可以查看的文件中。如果文件存在,则脚本运行。

答案2

如果您没有MAILTO=""在 crontab 的开头放置任何 : ,则每次运行脚本时,您应该(如果您的 PC 已启动)为用户@发送一封邮件。

相关内容