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

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 错误的最佳方法是什么?

我发现这个答案但它没有说明这是否会阻碍工作的完成。

答案1

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

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

就您而言,您没有安装“消息传输代理”。这是提供命令的软件包(如postfix和)的通用名称。ssmtpmail

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

相关内容