FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: moonsorrox am 14 April 2015, 01:05:23

Titel: Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 01:05:23
ich habe zwei crontab am laufen, die mir den /opt Ordner jeden Tag sichern, aber ich muss feststellen, da ich ja bei Ausführung immer eine Mail bekomme, dass die seit einigen Tagen nicht mehr ausgeführt werden, jemand dazu einen Tipp oder eine Information.

Wenn ich mir mal meine Sicherungen so anschaue ist dies seit dem 01.04. so  :-\
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: hckoe am 14 April 2015, 09:02:00
Hallo,

läuft der cron service noch? Einfach auf der Shell testen mit:
# service cron status
Falls nicht, dann neu starten mit:
# service cron start

Gruß
Helmut
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: Hollo am 14 April 2015, 09:02:25
Du meinst 2 cronjobs, die Du in Deiner crontab eingetragen hast !?

Wie sehen die Einträge denn aus; wohin pipest Du die Standard- und Error-Ausgaben?
Im Normalfall solltest Du im syslog Informationen zu evtl. Problemen bei der Abarbeitung finden.
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 12:42:16
Zitat von: hckoe am 14 April 2015, 09:02:00
läuft der cron service noch? Einfach auf der Shell testen mit:
ja cron is running

Zitat von: Hollo am 14 April 2015, 09:02:25
Du meinst 2 cronjobs, die Du in Deiner crontab eingetragen hast !?

Wie sehen die Einträge denn aus

ja ich habe 2 crontab zusätzlich drin und die funktionierten auch, irgendwie komisch das genau seit 01.04 nicht mehr.
Manuell kann ich den ja über putty starten und das Backupscript funktioniert auch, deshalb auch genau die Frage nach dem crontab Start

es wird ein Backupscript aufgerufen und ich bekomme immer per Mail eine Rückmeldung das sie ausgeführt werden, so sehen die aus..

# Startet jeden Tag um 23:00 das Backup des FHEM-Servers auf Qnap439
00 23   * * *   root    /bin/bash --login /root/backup-FHEM.sh -p s -d 30

# Startet jeden Tag um 23:10 das Backup des FHEM-Servers auf Qnap219
10 23   * * *   root    /bin/bash --login /root/backup-FHEM.sh -p r -d 14


die Einstellungen hinten bedeuten nur die zwei verscheidenen Scripte (s, r) und nach wieviel Tagen die alten gelöscht werden sollen (30, 14)

Aber das Script funktioniert

Zitat von: Hollo am 14 April 2015, 09:02:25
wohin pipest Du die Standard- und Error-Ausgaben?
Im Normalfall solltest Du im syslog Informationen zu evtl. Problemen bei der Abarbeitung finden.

ich bin nicht so der Linux Freak, wie frage ich das ab..? Ich habe ja den Cubietruck
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: Hollo am 14 April 2015, 12:57:43
Da Du nix mit 1> oder 2> eingetragen hast, leitest Du auch keine Ausgabe um.   :D

Ich kenne das Script ja nicht...
Wofür ist denn das --login ? Mach das ins Script.
Ich würde mal den Eintrag ganz traditionell nur in der Form "wann / welcher User / was" machen und nochmal gucken.

Wenn Du das Script manuell in einer Konsole startest, kannst Du normal auch dort Fehlerausgaben sehen.
Sonst mach eine zusätzliche Konsole auf und dann mal "sudo tail -f /var/log/syslog" . Kannst Du mit Strg-C stoppen.
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 13:18:16
Zitat von: Hollo am 14 April 2015, 12:57:43
Ich kenne das Script ja nicht...
Wofür ist denn das --login ? Mach das ins Script.

das --login habe ich nur seinerzeit von dem Backup Ersteller übernommen, ich selbst habe ja nicht so die Ahnung davon, somit kann ich dir das leider nicht sagen.

es gibt ein eigentliches Script "backup.sh" und dazu die sogenannte "backup.conf" Datei, mal schauen ob ich sie ran hängen kann..

also als erstes wundert mich das es ja funktionierte und ich habe nichts daran gedreht oder sonstiges, ich habe die crontabs gar nicht mehr beachtet weil ich ja immer die Mail bekam somit war das für mich alles OK...!  :-\

hier mal die Fehlerausgabe von "tail -f /var/log/syslog"

ZitatApr  2 14:51:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Apr  2 15:01:01 localhost /usr/sbin/cron[2245]: (*system*) RELOAD (/etc/crontab)
Apr  2 15:01:01 localhost cron[2245]: Error: bad username; while reading /etc/crontab
Apr  2 15:01:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Apr 13 01:31:01 localhost /usr/sbin/cron[2245]: (*system*) RELOAD (/etc/crontab)
Apr 13 01:31:01 localhost cron[2245]: Error: bad username; while reading /etc/crontab
Apr 13 01:31:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Apr 14 12:40:01 localhost /usr/sbin/cron[2245]: (*system*) RELOAD (/etc/crontab)
Apr 14 12:40:01 localhost cron[2245]: Error: bad username; while reading /etc/crontab
Apr 14 12:40:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)


EDITH:// nochmal als Hinweis ich habe einen 2. CT auf dem setze ich das Script auch ein nur zu anderen Zeiten, diesen Cubietruck nutze ich als Media Server, hier funktioniert das genauso mit den EInstellungen...!  :-\
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: hckoe am 14 April 2015, 13:24:01
Hi,

da muß irgendein Syntax-Fehler in Deiner Crontab-datei /etc/crontab sein, daher wird sie ignoriert und die Jobs nicht ausgeführt.
Vielleicht auch nur irgendein "Schmierzeichen".
--> Apr  2 14:51:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)

Bitte überprüfen einmal die Datei.

Gruß
Helmut
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: stromer-12 am 14 April 2015, 13:35:22
Wie hast du die crontab bearbeitet, stimmen deine Dateieigenschaften noch?
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 13:36:44
Zitat von: hckoe am 14 April 2015, 13:24:01
Hi,

da muß irgendein Syntax-Fehler in Deiner Crontab-datei /etc/crontab sein, daher wird sie ignoriert und die Jobs nicht ausgeführt.
Vielleicht auch nur irgendein "Schmierzeichen".
--> Apr  2 14:51:01 localhost /usr/sbin/cron[2245]: (*system*) ERROR (Syntax error, this crontab file will be ignored)

Bitte überprüfen einmal die Datei.

Gruß
Helmut

genau das irritiert mich ja diese Fehlermeldung... habe gerade oben editiert.
Zitatich habe einen 2. CT auf dem setze ich das Script auch ein nur zu anderen Zeiten, diesen Cubietruck nutze ich als Media Server, hier funktioniert das genauso mit den EInstellungen...!

Ich habe weder etwas geändert noch sonst etwas damit getan, gerade weil ich dieser Scripts nicht mächtig bin  ;)

Ich habe jetzt mal im crontab den --login weggenommen, aber daran liegt es nicht, läuft ja auf meinem zweiten CT auch so...!

Evtl. sollte ich den CT mal rebooten..? das der sich irgendwie verschluckt hat, der läuft jetzt bei mir seit 116 Tagen ohne reboot
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 13:38:20
Zitat von: stromer-12 am 14 April 2015, 13:35:22
Wie hast du die crontab bearbeitet, stimmen deine Dateieigenschaften noch?

mit putty und nano

Dateirechte..? 644 genau wie bei meinem zweiten CT sollte also richtig sein
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: hckoe am 14 April 2015, 13:50:24
Hallo,

kannst Du die datei einmal zum Download zur Verfügung stellen, dann würde ich Sie einmal analysieren. Es stehen normalerweise keine "Geheimnisse" drin!

Gruß
Helmut
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 14:00:28
ja klar welche die crontab oder die backup.sh

EDITH es war die falsche, jetzt die richtige
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 14:08:05
ich glaube ich habe den Fehler gefunden...!
schau mal in die crontab Datei dort gibt es ganz unten zwei Einträge die ich auskommentiert habe... diese hatte ich vorher nicht auskommentiert, mit diesen Einträgen macht er den Fehler.
Bedeutet für mich, das er die crontab nicht bis zum Ende abarbeitet und somit dadurch auch die vorherigen nicht abarbeitet...!
Kann das so sein, dass er alle nicht bearbeitet..?

Das sind Sysmon crontab von Hexenmeister, die ich auch nur übernommen habe, dazu frage ich ihn mal
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: hckoe am 14 April 2015, 14:17:16
falsch:
# crontab sysmon Paketlisten aktualisieren
#00 3     * * *   sudo apt-get update 2>/dev/null >/dev/null

richtig:
# crontab sysmon Paketlisten aktualisieren
#00 3     * * *   root sudo apt-get update 2>/dev/null >/dev/null

Gruß
Helmut
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 14:22:33
genau das habe ich vermutet...! Danke
werde ich mal einbauen und schau mal dazu hier in diesen Thread  (http://forum.fhem.de/index.php/topic,17201.msg281053.html#msg281053)ich hatte es da noch gefragt, denn genau seit dem 2. April bekomme ich keine Mail mehr, die letzte war vom 1. April

Aber das dieses dann die anderen nicht mehr ausführen läßt..! damit habe ich nicht gerechnet und den Fehler an der falschen Stelle vermutet :-\

Da war er also der "Schmierfehler"  :D

Vielen Dank :D

Noch ein kurzer Hinweis...
Zitat von: hckoe am 14 April 2015, 14:17:16
richtig:
# crontab sysmon Paketlisten aktualisieren
#00 3     * * *   root sudo apt-get update 2>/dev/null >/dev/null

es reicht auf dem CT da ich ja root bin:
# crontab sysmon Paketlisten aktualisieren
00 3     * * *   root apt-get update 2>/dev/null >/dev/null
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: hckoe am 14 April 2015, 14:41:40
Die Einträge von Hexenmeister waren für crontab-Einträge, die mit dem crontab-Kommando erzeugt werden, denn da gibt es kein User-Feld:

0 3 * * * sudo apt-get update 2>/dev/null >/dev/null
0 4 * * * apt-get upgrade --dry-run| perl -ne '/(\d*)\s[upgraded|aktualisiert]\D*(\d*)\D*install|^ \S+.*/ and print "$1 aktualisierte, $2 neue Pakete"' 2>/dev/null > /opt/fhem/data/updatestatus.txt

In der /etc/crontab gibt es dieses Feld und da muß der Eintrag so aussehen:

0 3 * * * root sudo apt-get update 2>/dev/null >/dev/null
0 4 * * * root apt-get upgrade --dry-run| perl -ne '/(\d*)\s[upgraded|aktualisiert]\D*(\d*)\D*install|^ \S+.*/ and print "$1 aktualisierte, $2 neue Pakete"' 2>/dev/null > /opt/fhem/data/updatestatus.txt

Bei Dir war jetzt aber ein Eintrag mit "root" und einer ohne  ;)

Gruß
Helmut
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 14:44:59
Zitat von: hckoe am 14 April 2015, 14:41:40
Bei Dir war jetzt aber ein Eintrag mit "root" und einer ohne  ;)

Gruß
Helmut

Super erklärt, vielen Dank und gut analysiert, ich bin eben nicht der Linux Freak  ;) :D
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: Hollo am 14 April 2015, 16:54:14
Dann war syslog ja der richtige Tipp.  ;D

Nur der Vollständigkeit halber...
Zitat von: hckoe am 14 April 2015, 14:17:16
falsch:
# crontab sysmon Paketlisten aktualisieren
#00 3     * * *   sudo apt-get update 2>/dev/null >/dev/null

richtig:
# crontab sysmon Paketlisten aktualisieren
#00 3     * * *   root sudo apt-get update 2>/dev/null >/dev/null
Eigentlich beides falsch!
Das System kennt den Benutzer sudo nicht, daher auch der Fehlereintrag "bad username".
Und wenn Du etwas unter dem Benutzer root aufrufst, dann kannst Du wiederum auf das sudo verzichten, weil Du ja dann schon Superuser-Rechte hast.
Titel: Antw:Bei mir werden seit ein paar Tagen keine crontab mehr ausgeführt
Beitrag von: moonsorrox am 14 April 2015, 19:25:31
Zitat von: Hollo am 14 April 2015, 16:54:14
Dann war syslog ja der richtige Tipp.  ;D
ja klar, dass war Super - habe ich mir auch in meine Linux Liste geschrieben...!!  ;)

Zitat von: Hollo am 14 April 2015, 16:54:14
Nur der Vollständigkeit halber...Eigentlich beides falsch!
Das System kennt den Benutzer sudo nicht, daher auch der Fehlereintrag "bad username".
Und wenn Du etwas unter dem Benutzer root aufrufst, dann kannst Du wiederum auf das sudo verzichten, weil Du ja dann schon Superuser-Rechte hast.

genau siehe hier von mir geschrieben...!  :D schön das mir geholfen wurde... Danke
Zitates reicht auf dem CT da ich ja root bin:
# crontab sysmon Paketlisten aktualisieren
00 3     * * *   root apt-get update 2>/dev/null >/dev/null