2016-07-07 20 views
1

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

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 n
  • 2>&1 bedeutet

    • Dateideskriptor 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.

+0

Vielen Dank für Ihre Hilfe. – Ironman

+0

Ich habe es versucht und es hat funktioniert. Kann ich verschiedene Protokolldateien generieren, wenn Cron-Job nach einem Zeitintervall ausgeführt wird? – Ironman

+1

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)) –