web-dev-qa-db-ja.com

Cronジョブのログに「MTAがインストールされていません」と表示されますが、CRONジョブの終了を妨げていますか?

特定のディレクトリでrsyncを実行しているcronジョブがあります。

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」に関する2番目のステートメントは、cronジョブの完了を妨げますか?そのcronジョブを完了してMTAエラーを取り除く最良の方法は何ですか?

この答え を見つけましたが、それが仕事の終了を妨げるかどうかはわかりません。

7
Hanny

いいえ、CRONジョブの終了を妨げません。

通常、CRONジョブに出力先を指示せずに出力を生成させないでください。この場合のように、CRONはどこかにメールを送信しようとします(crontabファイルでも指定されています)。成功しなかった場合、ログファイルに記載されているように、出力を破棄して続行します。

あなたの場合、「メッセージ転送エージェント」はインストールされていません。これは、postfixコマンドを提供するssmtpmailなどのパッケージの一般的な名前です。

それぞれ>2>を使用して、rsyncコマンドからSYSOUTとSYSERRをリダイレクトすることをお勧めします。興味がない場合は、出力を/dev/nullにリダイレクトします。

7
Jos