it-swarm.com.de

Das Cron-Jobprotokoll lautet "Kein MTA installiert". Verhindert dies, dass der CRON-Job beendet wird?

Ich habe einen Cron-Job, der gerade Rsync in einem bestimmten Verzeichnis ausführt.

Wenn ich den Befehl rsync selbst Sudo rsync -av --delete /directory1 /directory2 ausführe, wird er ohne Probleme ausgeführt und funktioniert genau wie beabsichtigt.

Wenn der Cron-Job ausgeführt wird, wird er in /var/log/syslog.1 angezeigt und lautet wie folgt (zusammengefasst):

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)

Die Dateien befinden sich jedoch nicht im Sicherungsverzeichnis (wird also nicht abgeschlossen).

Verhindert diese zweite Anweisung zu 'No MTA installed' den Abschluss des Cron-Jobs? Was ist der beste Weg, um diesen Cron-Job abzuschließen und den MTA-Fehler zu beseitigen?

Ich habe diese Antwort gefunden, aber es steht nicht fest, ob dies den Abschluss des Auftrags verhindert.

7
Hanny

Nein, dies verhindert nicht, dass der CRON-Job beendet wird.

Normalerweise sollten Sie Ihren CRON-Job keine Ausgabe generieren lassen, ohne ihm mitzuteilen, wo er geschrieben werden soll. In diesem Fall versucht CRON, die Nachricht an eine andere Stelle zu senden (auch in der Datei crontab angegeben). Wenn dies nicht gelingt, wird die Ausgabe wie in der Protokolldatei angegeben verworfen und fortgesetzt.

In Ihrem Fall ist kein "Message Transfer Agent" installiert. Dies ist ein generischer Name für Pakete wie postfix und ssmtp, die einen mail -Befehl bereitstellen.

Ich empfehle, SYSOUT und SYSERR vom Befehl rsync mit > bzw. 2> umzuleiten. Wenn Sie überhaupt nicht interessiert sind, leiten Sie die Ausgabe auf /dev/null um.

7
Jos