
Wenn ich ein Skript namens teiid.sh so eingestellt habe, dass es täglich von einem Cron-Job ausgeführt wird, besteht der Zweck des Skripts darin, den Start von teiid zu initialisieren.
Wie kann ich einen Testaufruf durchführen, um zu sehen, ob teiid.sh ordnungsgemäß mit cron funktioniert und nicht einfach endlose Aktionen oder gar keine Aktion ausführt?
Beispiel:
@daily * * * * /etc/init.d/teiid.sh jeff@****.edu
Würden Sie chkconfig --add /etc/init.d/teiid.sh
überhaupt bei irgendetwas helfen?
Antwort1
Sie können zwei Dinge tun.
- Überprüfen Sie /var/log/cron, um zu prüfen, ob es ausgeführt wird
- Fügen Sie am Ende des Cron-Eintrags > /tmp/log 2>&1 hinzu. Überprüfen Sie anschließend mit cat /tmp/log, ob die Ausgabe korrekt ist.
Antwort2
Rufen Sie das Skript auf, um zu testen, ob es richtig funktioniert?
Haben Sie es beim Schreiben getestet? Beim Ausführen cron
wäre es nicht anders.
Andere Möglichkeiten - Ausgabe Ihres Skripts in eine Datei - Verfolgen Sie, was Ihr Skript tut, indem Sie -x
dem "Shebang" etwas hinzufügen #!/bin/bash -x
oder set x
in die nächste Zeile danach einfügen
Dadurch wird die Ablaufverfolgungsausgabe bereitgestellt. In jedem Fall müssen Sie diese Informationen sehen können. Und wenn Sie nicht da sind oder sie nicht sehen können, müssen Sie sie in eine Datei ausgeben.
Was den Befehl chkconfig betrifft. Je nach Distribution wird es mit S-Start- und K-Kill-Skripten zu den entsprechenden Runlevels hinzugefügt. Normalerweise, wenn es die LSB-Header-Informationen hat. Oder Sie können die Symlinks manuell erstellen.