问题
我有一个脚本要在凌晨 1:32 运行,所以我设置了一个 cronjob
$ crontab -e
在编辑文件中,我有
32 1 * * * /home/user/.scripts/midnightjobs
其中“用户”是我的用户名。然而,这并没有奏效。
我所做的尝试
我尝试在脚本中添加日志记录功能,希望看看出了什么问题。该脚本似乎从未运行过。
我还尝试在上午 7:59 添加另一个 cronjob:
0 8 * * * /home/user/.scripts/midnightjobs
它有效!该脚本运行并在上午 8 点输出了一个日志文件。
我猜
我相信我一直非常小心......并且根据我的第二次尝试,我最好的猜测是我的笔记本电脑(在 archlinux 上运行)在晚上偷偷地睡着了,无法运行 cronjob。
答案1
一些建议:
查看您的
cron
日志(可能位于/var/log/syslog
或中/var/log/messages
)以验证脚本是否正在运行。确保您的脚本可执行
确保您的脚本在手动运行时正确运行
请记住,通过 运行脚本时您有不同的环境
cron
,因此您的路径等内容可能会有所不同,从而导致脚本中出现错误添加
> /tmp/cron.output.log
到行末尾crontab
,将脚本输出写入您可以查看的文件中。如果文件存在,则脚本运行。
答案2
如果您没有MAILTO=""
在 crontab 的开头放置任何 : ,则每次运行脚本时,您应该(如果您的 PC 已启动)为用户@发送一封邮件。