首先对于crontab日志文件,网上很多说是在/var/spool/mail和/var/log/cron.log,但我的服务器和个人电脑都没有发现以上日志,crontab日志在我这边是放在/var/mail/文件里的。
然后日志文件是可以自己指定位置输出,在每个crontab命令后面加上1>xxx.log或2>xxx.log,其中1表示正常日志,2表示错误日志。例如:
0 0/1 * * * /usr/local/bin/python3 /Users/xxx/Desktop/xxx.py 1>/Users/xxx/Desktop/1.log
0 0/1 * * * /usr/local/bin/python3 /Users/xxx/Desktop/xxx.py 2>/Users/xxx/Desktop/1.log
对于定时文件不执行,有如下几个原因:
1、运行程序出现报错或错误导致程序运行中断,需要查看错误日志才能知道问题所在。或者可直接使用crontab执行程序命令在自己的终端上跑一次看能否运行成功
2、crontab执行程序命令需要完整的路径,如上
/usr/local/bin/python3
不可写成
python3
程序文件名同理