schrauber77
Goto Top

Script wird von cronjob nicht korrekt ausgeführt - Centos 5

Hallo,

Ich habe ein Problem mit meinem Sicherungsserver:

ich möchte zur täglichen inkrimentellen Sicherung (Centos 5 Sicherungsserver) meiner Daten ein Script, angestoßen durch einen cronjob, ausführen welches Hardlinks anlegt welche dann über Nacht durch rsync von meinem Arbeitsrechner (ebenfalls Centos 5) aktualisiert werden.

Dies hat auch jahrelang funktioniert, leider treten seit kurzem Fehler in der Ausführung des Scriptes auf, wenn diese per cronjob gestartet wird. Bei einem händischen Ausführen läuft das Script perfekt durch. Ein Vergleich der beiden Verzeichnisse per diff -r ergibt keine Abweichungen.
Leider kann ich keinen genauen Zeitpunkt ausmachen seitdem der Fehler aufgetreten ist bzw. eine Änderung an meiner Konfiguration der dies ausgelöst haben kann.

das Script heißt hardlinks.sh und sieht wie folgt aus:

 

#!/bin/sh

mv 		/Sicherung/Daten	 /Sicherung/Daten.`date -d '1 day ago' +%Y%m%d` 		  
cp 	-alv 	/Sicherung/Daten.`date -d '1 day ago' +%Y%m%d` 		/Sicherung/Daten  

Der mv Befehl wird anstandslos ausgeführt, sprich aus "Daten" wird "Daten.Datum-von-gestern".

Der cp Befehl wird nicht korrekt ausgeführt, hier bricht das Script das Kopieren der Hardlinks von "Daten.Datum-von-gestern" nach "Daten" einfach irgendwann ab, so dass nicht von allen Verzeichnissen und Dateien Hardlinks angelegt werden.

Hat eventuell jemand eine Vorstellung woran das liegen kann.

Der cronjob wird als root mit folgendem Befehl aufgerufen:
/bin/bash /root/hardlinks.sh

Für eure Unterstützung möchte ich mich bereits im Voraus bedanken.

Gruß Dominique

Content-Key: 171930

Url: https://administrator.de/contentid/171930

Printed on: April 19, 2024 at 19:04 o'clock

Member: ulrike
ulrike Aug 24, 2011 at 08:59:39 (UTC)
Goto Top
Hallo,

wann läuft dein Skript? Läuft es evtl. in den nächsten Tag rein, so dass es keine Dateien mehr findet?

Gruß
Uli
Member: Schrauber77
Schrauber77 Aug 25, 2011 at 05:49:41 (UTC)
Goto Top
Morgen,

Danke für die Antwort.

Das Skript läuft morgens um 5 Uhr. Von daher kann es daran leider nicht liegen.


Gruß Dominique
Member: mark.doe
mark.doe Aug 26, 2011 at 11:30:48 (UTC)
Goto Top
probiere den Spaß mal mit einer anderen Shebang.

Was sagt das Skript in Bash?

date -d '1 day ago' +%Y%m%d`'
-bash: `ago +%Y%m%d`': not a valid identifier

was mir sagt das bei date sich die daylight dingens in der syntax geändert hat!

probiere es doch erstmal mit

date +%Y%m%d

Leerzeilen sollte man aus Anstand am Ende auch immer entfernen.

Dann würde ich mit Variablen arbeiten.

DATUM="`date +%Y%m%d`"
PATH="/Sicherung/Daten"
BACKUP="$PATH-$DATUM"

mv $PATH $BACKUP

etc, etc, etc....
Member: Schrauber77
Schrauber77 Aug 30, 2011 at 08:06:34 (UTC)
Goto Top
Danke für die Antwort,

ich habe jetzt alles mit Variabeln und geänderter Datumsanzeige ausprobiert, gleiches Ergenis, wenn ich das Skript händisch ausführe alles bestens, wenn ich es von Cron ausführen lasse wird nur ein Teil ausgeführt.

Es werden auch immer die gleichen Verzeichnisse bzw. Dateien nicht kopiert.

Keine Ahnung wodran das liegen kann.......

Gruß Dominique