Die Einrichtung

Die Einrichtung

Die Einrichtung

Ich habe ein Skript /etc/cron.hourly/msm-hourly, das Folgendes enthält:

#!/bin/sh
LOGPATH='/opt/msm/servers/cronscripts'
LOGFILE="$LOGPATH/msm-start.log"

# Make restart dead servers
echo "" >> $LOGFILE && /bin/date >> $LOGFILE && /etc/init.d/msm start >> $LOGFILE

Jede Stunde:

  1. Erstellen Sie eine neue Zeile in der Protokolldatei
  2. Datum hinzufügen
  3. Dann die Ausgabe des msm startBefehls

Es klapptAusführen über die Befehlszeilesowieinnerhalb/etc/cron.daily/

Das Thema

Die Ausgabe sieht bei Ausführung über die Befehlszeile folgendermaßen aus:

[ msm-hourly.log ]

Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.

Wenn man es jedoch eine Weile laufen lässt, sieht die Ausgabe jeder Iteration folgendermaßen aus:

[ msm-hourly.log ]

Thu Sep 12 20:56:51 UTC 2013
[ACTIVE] Server already started.


Thu Sep 12 21:01:02 UTC 2013
Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013

Thu Sep 12 21:01:02 UTC 2013
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.
[ACTIVE] Server already started.

Hier ist die Ausgabe von /var/logs/cron:

Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19497]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19498]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19522]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19541]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19549]: starting msm-hourly
Sep 12 21:01:02 server run-parts(/etc/cron.hourly)[19565]: starting msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20166]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20182]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20243]: finished msm-hourly
Sep 12 21:01:03 server run-parts(/etc/cron.hourly)[20288]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20310]: finished msm-hourly
Sep 12 21:01:04 server run-parts(/etc/cron.hourly)[20315]: finished msm-hourly

Frage

Ich habe versucht, das Skript, gefolgt von /etc/init.d/crond reloadund/oder , zu ersetzen und zu überarbeiten /etc/init.d/crond restart.

Der Neustart erfolgt ohne Fehler und das Skript wird wie vorgesehen jede Stunde ausgeführt, nur mit allen zusätzlichen Zeilen.

Wie kann ich dies aufspüren, um besser zu verstehen, was los ist, und es beheben, sodass msm-hourly nur einmal pro Stunde ausgeführt wird?

Antwort1

Überprüfen Sie /etc/crontab, ob die Zeile cron.hourlyfür die folgende Zeile ähnlich ist (achten Sie besonders darauf, dass nur das Minutenfeld eine Zahl enthält und der Rest aus Sternchen besteht) und nur einmal vorkommt.

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

Stellen Sie außerdem sicher, dass Ihr Skript (oder /etc/cron.hourly) in keine anderen Crontabs eingetragen ist, einschließlich der eines Benutzers (oder Roots), und dass nicht mehrere Kopien (Backups) in erscheinen /etc/cron.hourly.

Beachten Sie, dass die letzte Zeile in Ihrem Skript wie folgt vereinfacht werden kann:

{ echo && /bin/date && /etc/init.d/msm start; } >> $LOGFILE

Bitte beachten Sie auchProzessmanagement.

verwandte Informationen