Cron作业日志显示“未安装MTA”,这是否会阻止CRON作业完成?

我有一个cron作业,只是在特定目录上运行rsync。

当我运行rsync命令本身sudo rsync -av --delete /directory1 /directory2 ,它运行没有问题,并完全按预期运行。

当Cron作业运行时 – 我在/var/log/syslog.1中看到它并且它说(摘要):

 Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (root) CMD (rsync --delete /my/directory /backup/directory) Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (CRON) info (No MTA installed, discarding output) 

但是文件不在备份目录中(所以它没有完成)。

关于“ No MTA installed ”的第二个声明是否阻止了cron作业的完成? 让cron作业完成并摆脱MTA错误的最佳方法是什么?

我找到了这个答案,但并没有说这是否会阻止工作完成。

不,它不会阻止CRON作业完成。

通常,您不应该让CRON作业生成输出而不告诉它在哪里写它。 如果这样做,就像在这种情况下一样,CRON会尝试将其邮寄到某处(也在crontab文件中指定)。 如果它不成功,它会丢弃输出,就像它在日志文件中所说的那样,然后继续。

在您的情况下,您没有安装“邮件传输代理”。 这是提供mail命令的包的通用名称,如postfixssmtp

我建议分别使用>2>rsync命令重定向SYSOUT和SYSERR。 如果您根本不感兴趣,请将输出重定向到/dev/null