SSH schlägt in Crontab nach dem Neustart fehl

SSH schlägt in Crontab nach dem Neustart fehl

Ich führe regelmäßig ein Shell-Skript über Crontab aus, das SSH verwendet, um eine Verbindung zu einem Server herzustellen. Wenn ich das Skript manuell ausführe, läuft es erfolgreich. Innerhalb derselben Sitzung wird es auch von Crontab erfolgreich ausgeführt. Aber wenn ich meinen Computer neu starte und warte, bis Crontab das Skript startet, schlägt es fehl.

Sowohl mein Computer als auch der Server, mit dem ich mich verbinde, haben Schlüssel voneinander, die kein Passwort erfordern.

SSH-Befehl in meinem Skript:

ssh -i /home/myuser/.ssh/id_rsa -t -t myuser@servername 'some-script-on-the-server'

Crontab-Befehl:

45 10   * * *   root    sudo -u myuser my-local-script

Ich dachte, ich könnte dieses Problem lösen, indem ich den SSH-Befehl angebe, -i /home/myuser/.ssh/id_rsaaber danach hat es immer noch nicht funktioniert.

Die Ausgabe /var/log/sysloglautet:

May 23 11:06:01 mycomputer CRON[1254]: (root) CMD (sudo -u myuser my-local-script)
May 23 11:06:01 mycomputer CRON[1252]: (CRON) info (No MTA installed, discarding output)

Was ist das Problem?

Antwort1

"Kein MTA installiert" bedeutet, dass Sie in Ihrem Skript möglicherweise eine E-Mail senden möchten, aber kein MTA (Mail Transfer Agent) angegeben wurde. Der Cron-Daemon versucht tatsächlich, Ihnen Ausgaben zu senden. Sie können einen MTA (wie Postfix) installieren oder, wenn Ausgaben nicht wichtig sind, auf "/dev/null 2>&1" umleiten.

verwandte Informationen