我在Ubuntu Linux下。
我刚刚添加了这个 cron-job 每分钟运行一次
MAILTO="[email protected]"
* * * * * cd /home/forge/bheng/public/code/scraper/; /usr/bin/python3 main.py
如果我运行这个命令
cd /home/forge/bheng/public/code/scraper/; /usr/bin/python3 main.py
效果很好。
我从未见过它运行或收到电子邮件。
我运行了一个mail
命令
我有
└── mail
"/var/mail/root": 3 messages 3 new
>N 1 Cron Daemon Sun Oct 15 06:34 21/930 Cron <root@bheng> test -x /usr/sbin/anacron || ( cd / && run
N 2 long@bheng Sun Oct 15 14:19 15/649 *** SECURITY information for bheng ***
N 3 long@bheng Sun Oct 15 14:19 15/649 *** SECURITY information for bheng ***
?
好像有问题,如何解决?
我是否忘记了什么或遗漏了什么?
答案1
如果 cron 作业由于某种原因失败,您将通过邮件收到相关消息。输入“邮件”并检查消息。
答案2
作为邮件的替代方案,请考虑将命令包装到 bash 脚本中,然后使用日志文件:
例如,您可以创建一个包含以下内容的脚本 /home/forge/scraper.bash:
#!/bin/bash -x
cd /home/forge/bheng/public/code/scraper/
/usr/bin/python3 main.py
授予脚本执行权限 ( chmod +x scraper.bash
),然后按如下方式设置 cron:
* * * * * /home/forge/scraper.bash &>> /home/forge/scraper.log
执行输出(和错误)现在应该可以在 /home/forge/scraper.log 文件中找到。请注意,每次运行作业时,输出都会附加到日志文件中。
答案3
MAILTO
文件中的设置通常crontab
不是用于 Internet 电子邮件传送,而是用于本地用户帐户传送,例如root
或someuser
。