Ich bin derzeit ausgeführt, einen Cron-Job zu planen mein Shell-Skript nach einem bestimmten Intervall, aber ich bin nicht in der Lage zu sehen, meine Shell-Skript-Ausführung und das Protokoll, wie kann ich es sehen. DankWie Shell-Skript-Ausführung mit Cronjob
1
A
Antwort
3
Sie können die Umleitungszeichen (>
) verwenden, um die stdout
und/oder stderr
in eine Protokolldatei zu umleiten.
Zum Beispiel:
0 0 * * * /path/to/shell-script.sh > /tmp/shell-script.log 2>&1
Wo:
0 0 * * *
bedeutet, dass das Skript/path/to/shell-script.sh
jeden Tag um Mitternacht laufen - den Pfad des Skripts>
Mittel umleiten der Stream in eine Datei gefolgt von der Umleitung sig n2>&1
bedeutetDateideskriptor
1
ist die Standardausgabe (stdout
).Dateibeschreibung
2
ist der Standardfehler (stderr
).
Hier ist ein Weg, um dieses Konstrukt zu erinnern (obwohl es nicht ganz korrekt ist): Zunächst 2>1
wie ein guter Weg aussehen kann stderr
zu stdout
umleiten. Es wird jedoch tatsächlich als "Umleitung stderr
zu einer Datei mit dem Namen 1
" interpretiert. &
zeigt an, dass das Folgende ein Dateideskriptor und kein Dateiname ist. So wird das Konstrukt: 2>&1
.
Vielen Dank für Ihre Hilfe. – Ironman
Ich habe es versucht und es hat funktioniert. Kann ich verschiedene Protokolldateien generieren, wenn Cron-Job nach einem Zeitintervall ausgeführt wird? – Ironman
Sie können 'logrotate' verwenden. Lesen Sie [dies] (http://www.thegeekstuff.com/2010/07/logrotate-examples/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheGeekStuff+ (The + Geek + Stuff)) –