cronjob verschwindet aus crontab

Status
Für weitere Antworten geschlossen.

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
Hallo zusammen!

Ich war gestern etwas erstaunt als ich sah, daß eine Zeile aus 'meiner' crontab verschwunden war die ich vor ca. einer Woche dort eingefügt hatte.
Ich habe ein kleines script welches einen Ordner auf eine Inhaltsänderung prüft. Dieses script lasse ich per cronjob einmal pro Stunde laufen. Gibt es eine Änderung, dann bekomme ich eine Mail.
Gestern gab's dann plötzlich keine Mail mehr, obwohl definitiv Änderungen im Ordner waren.
Ein kurzer check brachte es dann ans Licht: aus der crontab war meine händisch eingefügte Zeile verschwunden! :eek:

Es gab keinen Neustart des Systems. Da weiß ich nämlich, daß da Änderunegn gerne mal verschwinden. Daher bin ich jetzt ein bißchen verwundert, warum die Zeile nach Tagen denn einfach verschwindet...!
Ist das ein bekanntes Verhalten der crontab? Hat das schon jemand beobachtet und weiß warum das passiert resp. wie ich das verhindern kann?


PS an die mods:
Beim Speichern des Threads bekomme ich den Hinweis, daß ich nur bestehende Stichworte angeben darf!?
Ich habe nur cronjob, crontab und script angegeben...
Woher weiß ich denn, welche Stichworte bestehen? - Was soll das eigentlich mit den Stichworten? Dachte, das dient der Suchfunktion...?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
Na, dann antworte ich mir bis auf weiteres erstmal selber! :)

Ich habe, nachdem ich das Paket 'cronjobs' installiert habe, festgestellt, daß zwischen den einzelnen Zeitparametern keine Tabulatoren, sondern nur Leerzeichen waren.
Das habe ich jetzt einmal geändert und beobachte weiter, ob der Cronjob wieder verschwindet aus der Crontab.

Aber selbst mit Leerzeichen ist es mir nicht klar, weshalb die DS die irgendwann rausschmeißt, ohne daß ein Neustart erfolgte...!?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Aber selbst mit Leerzeichen ist es mir nicht klar, weshalb die DS die irgendwann rausschmeißt, ohne daß ein Neustart erfolgte...!?
das wissen nur Gott und Synology was die Kriterien zum Rückgängigmachen sind :) Frag mal bei Synology an
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
es gibt 2 Varianten der crontab-Bereinigung:

1) die /etc/crontab wird durch die /etc.defaults/crontab überschrieben - dies wird meist durch ein Tool erledigt wie z.B. synocheckvolume, synocheckshare, synocheckiscsitrg, synocfgen ....

2) die /etc/crontab wird durch Zeilenlöschung bereinigt - dies wird durch die cgi-Skripte/Programme des DSM vorgenommen (welche sich der /lib/libsynosdk.so bedienen), wann immer etwas in die /etc/crontab hinzugefügt, geändert oder gelöscht wird. Also alle zeitdefinierten DSM-Aufträge (z.B. Backup)

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich wusste ja dass hier ein Gott hockt, der es genau weiss ;-)
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
2) die /etc/crontab wird durch Zeilenlöschung bereinigt - dies wird durch die cgi-Skripte/Programme des DSM vorgenommen (welche sich der /lib/libsynosdk.so bedienen), wann immer etwas in die /etc/crontab hinzugefügt, geändert oder gelöscht wird. Also alle zeitdefinierten DSM-Aufträge (z.B. Backup)

Zeilenlöschung würde ja dann nur greifen, wenn irgendwas in der Zeile nicht koscher ist, richtig? Leerzeichen habe ich ja jetzt durch Tabs ersetzt. Mal sehen...
Oder kennst du zufällig noch andere Kriterien für vermeintlich 'unsaubere' Zeilen?

1) die /etc/crontab wird durch die /etc.defaults/crontab überschrieben - dies wird meist durch ein Tool erledigt wie z.B. synocheckvolume, synocheckshare, synocheckiscsitrg, synocfgen ....

Die /etc.defaults/crontab ist ja erstmal leer, da steht ja kein Job drin. Und wenn man dort schon vorher seine eigenen Zeilen einträgt...?!
Müßte ich mal ausprobieren. Aber zunächst warte ich mal ab, ob die Tabs das Problem nicht bereits gelöst haben.

Danke euch erstmal!
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Oder kennst du zufällig noch andere Kriterien für vermeintlich 'unsaubere' Zeilen?

wenn die ersten 5 Felder nicht dem Format entsprechen??? die Zeilenlänge könnte auch ein Problembereich sein

Itari
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
wenn die ersten 5 Felder nicht dem Format entsprechen??? die Zeilenlänge könnte auch ein Problembereich sein

Die ersten 5 Felder sollten ja jetzt nicht mehr das Problem sein.
Ich guck jetzt mal 'ne Woche oder 10 Tage, dann berichte ich.
 

chats

Benutzer
Mitglied seit
29. Sep 2012
Beiträge
516
Punkte für Reaktionen
5
Punkte
38
Hallo zusammen,
ich greife das Thema nochmal auf weil ich das gleiche Problem habe.
Ich starte die DS neu, der Cronjob ist nach dem Neustart in der Crontab richtig eingetragen und er macht aus zur
angegebenen Zeit das was er machen soll. Nämlich mein Script starten.
Das geht dann ein paar Tage gut. Und dann ist die Crontab zwar noch da aber mein Eintrag fehlt und ist auch nach einem Neustart
nicht wieder da.
Erst wenn ich ihn wieder eintrage und die DS neu starte ist der Eintrag wieder da. Aber eben nicht auf Dauer.

Was kann ich da tun?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat