So richten Sie eine Crontab so ein, dass sie zu einem bestimmten Zeitpunkt ausgeführt wird

StackOverflow https://stackoverflow.com/questions/3136

  •  08-06-2019
  •  | 
  •  

Frage

Wie kann ich meine Crontab so einrichten, dass sie jeden Tag um 23:59 Uhr ein X-Skript ausführt, ohne mir eine E-Mail zu senden oder Protokolle zu erstellen?

Im Moment sieht meine Crontab ungefähr so ​​aus

@daily /path/to/script.sh
War es hilfreich?

Lösung

Wenn Sie crontab -e ausführen, versuchen Sie Folgendes:

59 23 * * * /usr/sbin/myscript > /dev/null

Das bedeutet:Führen Sie myscript an jedem Tag (*) jeden Monats und an jedem Wochentag um 59 Minuten und 23 Stunden aus.

Sehen Mann Crontab für weitere Informationen und Beispiele.

Andere Tipps

Folgend auf Svrists Antwort, Abhängig von Ihrer Shell sollte 2>&1 gehen nach > /dev/null, sonst sehen Sie weiterhin die Ausgabe von stderr.

Folgendes bringt sowohl stdout als auch stderr zum Schweigen:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

Folgendes bringt stdout zum Schweigen, aber stderr wird weiterhin angezeigt (über stdout):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

Das Kapitel des Advanced Bash Scripting Guide zur E/A-Umleitung ist eine gute Referenz – suchen Sie nach 2>&1, um einige Beispiele zu sehen.

Mit der obigen Antwort erhalten Sie eine E-Mail mit jedem an stderr geschriebenen Text.Manche Leute leiten das auch weg und stellen sicher, dass das Skript stattdessen ein Protokoll schreibt.

... 2>&1 ....
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top