Rsnapshot wird nicht mehr per Cron ausgeführt, manuell aber schon

Status
Für weitere Antworten geschlossen.

w-o-f

Benutzer
Mitglied seit
10. Jul 2011
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

zunächst: dies ist mein erster Post hier im Forum, also habt bitte Nachsicht, wenn ich Fehler mache ;-)

Ich habe eine DS109j und habe mir darauf ein Rsnapshot eingerichtet, worüber die Inhalte mehrerer externer Server auf der DS gesichert werden. Per Cronjob wird jeweils ein Shellscript ausgeführt, welches dann die für jeden einzelnen Server eingerichteten Rsnapshot-Aufgaben abarbeitet. Dies sieht dann bspw. so aus:

Rich (BBCode):
rsnapshot -c /opt/etc/rsnapshot_server01.conf daily
rsnapshot -c /opt/etc/rsnapshot_server03.conf daily
rsnapshot -c /opt/etc/rsnapshot_server04.conf daily

Bis vor ein paar Tagen lief alles zu meiner vollsten Zufriedenheit. Dann dauerte ein entsprechender Prozess extrem lange. Ich kann dies so genau sagen, da ich mir die Aktivität einer Rsnapshot-Aufgabe per LED an der DS anzeigen lasse. Als nach etwa einem halben Tag die LED immer noch nicht aus war (normalerweise dauert ein entsprechender Prozess wengier als eine Stunde), wollte ich die DS per Befehl an der SSH-Shell neu booten - keine Reaktion. Auch der Power-Taster an der Front der DS veranlasste kein Herunterfahren. Somit schaltete ich das Gerät mittels des Schalters auf der Rückseite aus. Kurz darauf konnte ich die DS problemlos wieder hochfahren.

Jedoch funktionieren seitdem die Rsnapshot-Aufgaben per Cron nicht mehr. Im ersten Moment mögen einige von euch jetzt sicherlich zahlreiche Gründe dafür einfallen. Ich habe hier im Forum auch schon einige Themen dazu gefunden. Ausnahmslos alle führten jedoch zu dem Ergebnis, dass der Cron-Dienst nicht lief und lediglich neu gestartet werden musste. Ich kann jedoch versichern, dass dies bei mir NICHT der Fall ist.

Der Cron-Dienst läuft zuverlässig und auch die oben erwähnten Shellscripte werden zuverlässig ausgeführt. Dies kann ich so genau sagen, da neben den oben erwähnten Rsnapshot-Befehlen noch ein Befehl zum Schreiben eines Timestamps in ein Logfile in der Datei steht. Und diese Timestamps werden zuverlässig in das entsprechende Logifle geschrieben, was für mich der klare Beweis ist, dass die Cronjobs korrekt ausgeführt werden.

Als nächstes wäre anzunehmen, dass beim Aufruf der Rsnapshot-Befehle irgendetwas falsch ist. Dies ist aber eigentlich auch unrealistisch, da ich erstens nichts daran verändert habe und zweitens die Rsnapshot-Befehle korrekt ausgeführt werden, wenn ich das entsprechende Shellscript manuell an der Konsole ausführe. Und an dieser Stelle komme ich mit logischem Denken nicht mehr weiter. Also nochmal zusammengefasst:

Cron: läuft grundsätzlich
Rsnapshot manuell ausgeführt: läuft auch
Rnapshot per Cron: läuft NICHT (aber eben nur die Rsnapshot-Befehle nicht, alles andere läuft ja)

Alle beteiligten Dateien gehören übrigens root und sowohl der Cronjob als auch die manuelle Ausführung an der SSH-Konsole erfolgt durch root.

Hat jemand also vielleicht noch eine Idee, wie das Phänomen zu erklären wäre?

Danke.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ggf ein Stress mit PATH. Hast du mal probiert den Pfad zum rsnapshot Kommando komplett anzugeben? Verwendest du ipkg cron oder den default cron der Firmware?
 

w-o-f

Benutzer
Mitglied seit
10. Jul 2011
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
@jahlives
danke für die anmerkungen. den kompletten pfad anzugeben könnte ich mal probieren, klar. allerdings erscheint auch das mir mit sicherheit nicht der grund zu sein, denn wenn ich das shellscript manuell ausführe, wirds ja auch korrekte ausgeführt. oder wäre es denkbar, dass cron plötzlich den kompletten pfad braucht (früher gings ja auch ohne), aber bei manueller ausführung an der ssh-shell gehts auch ohne?

welcher cron kann ich auch grad nicht genau sagen. hab aber nur das per ipkg nachinstalliert, was fehlte. sollte also bereits ein cron per default in der ds installation enthalten sein, habe ich keinen extra cron installiert.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wieso glaubst du dass die Shell und cron die gleiche PATH Umgebung haben? ;-) cron hat einen eigenen PATH
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
wieso glaubst du dass die Shell und cron die gleiche PATH Umgebung haben? ;-) cron hat einen eigenen PATH

Jein. Cron bezieht seine PATH Variable aus einem früheren Stadium des Boot Processes, bzw. cron fehlen evtl. einige einstellungen, welche ein User mit z.B. .bashrc oder .profile noch zusätzlich bekommt.

Zum eigentlichen Problem:
Hängt mal im Cron soetwas wie ">/tmp/cron.log" 2>&1" an und schau mal, ob dort was geloggt wird, was weiterhelfen könnte. Evtl. hat ja auch der rsnapshot noch eine Möglichkeit debug optionen anzuhängen.

Gruß

Janus
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@janus
der default cron bekommt seine PATH Umgebung afaik vom init Prozess und dort ist opt nicht mit dabei. Dieses Problem mit rsnapshot kommt mir deswegen bekannt vor, darum die Vermutung mit dem default cron. Gerade wenn es manuell zu gehen scheint kann es eigentlich kein Problem von rsnapshot selber sein. Der müsste ja auch Fehler werfen wenn man es manuell aufruft. Die Idee mit dem Logfile ist aber gut ev kommt eine hilfreiche Fehlermeldung :)
 

w-o-f

Benutzer
Mitglied seit
10. Jul 2011
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
so, heute morgen lief der cronjob erstmals wieder korrekt durch. das einzige, was ich gestern gemacht hatte, war den cron dienst einmal zu stoppen und wieder zu starten. bin gespannt, ob es nach einem reboot der DS noch klappt... sonst melde ich mich nochmal. aber danke erstmal für eure unterstützung.
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
@jahlives: Jep, deine Beschreibung ist die genauere, was die Umgebungsvariablen für cron betrifft.

Ansonsten: Logfiles sind immer gut. Nur Mausschubser mögen keine Logfiles ;-) Ich hasse (Unix) Tools, welche glauben, dass Loginformationen nutzlos sind...

Gruß

Janus
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
In meinem AdminTool gibt es ja auch was für den cron ... auch eine Implementation mit crond-Logfile (und Ansicht derselben).

Itari
 
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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!