让我的crontab在我的ubuntu服务器18.04中作为亚马逊ec2实例运行时遇到了问题。
我的/etc/crontab文件中有以下一行:
*/15 * * * * root /bin/bash /home/ubuntu/gzip/over_time_compile_ec2.sh但是,它似乎不起作用,在运行sudo service cron status时,我得到以下信息:
Feb 14 22:20:01 ip-172-31-15-110 CRON[15880]: pam_unix(cron:session): session opened for user ubuntu by (uid=0)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15879]: pam_unix(cron:session): session opened for user root by (uid=0)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15881]: pam_unix(cron:session): session opened for user root by (uid=0)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15882]: (root) CMD (/home/ubuntu/gzip/compile_script.sh)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15883]: (ubuntu) CMD (/home/ubuntu/gzip/compile_script.sh)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15884]: (root) CMD (/bin/bash /home/ubuntu/gzip/over_time_compile_ec2.sh)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15881]: (CRON) info (No MTA installed, discarding output)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15881]: pam_unix(cron:session): session closed for user root
Feb 14 22:20:01 ip-172-31-15-110 CRON[15880]: (CRON) info (No MTA installed, discarding output)
Feb 14 22:20:01 ip-172-31-15-110 CRON[15880]: pam_unix(cron:session): session closed for user ubuntu我看到了行(CRON) info (No MTA installed, discarding output),但它不应该使我的CRON失败对吗?
发布于 2019-02-14 22:37:30
没有安装MTA (如后缀或类似的)不会使您的cron作业失败,但它阻止cron通过电子邮件向作业所有者发送作业的任何输出。
如果您的作业(由于任何原因)失败或产生输出,您将不会收到有关它的通知,并且该信息将被丢弃。
如果不想安装MTA,请将作业重定向到日志文件:
*/15 * * * * root /bin/bash /home/ubuntu/gzip/over_time_compile_ec2.sh >/tmp/job.out 2>/tmp/job.err这将在/tmp/job.out中将标准输出消息和作业生成的任何诊断消息放入/tmp/job.err中。您还可以使用>/tmp/job.out 2>&1将两种类型的消息重定向到同一个文件中。
使用>,这些文件将在作业每次运行时被清空和重写。使用>>,这些文件将被追加(但如果您重定向到同一个文件,则保留2>&1原样;2>>&1将无法工作)。
发布于 2019-02-14 22:58:08
在我的文件over_time_compile_ec2.sh中有另一个脚本的路径,因为cron位于当前目录中,因为它不是。
所以我只是在另一个脚本上添加了完整的路径。
https://unix.stackexchange.com/questions/500733
复制相似问题