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-ID: 171930

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

ulrike
ulrike 24.08.2011 um 10:59:39 Uhr
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
Schrauber77
Schrauber77 25.08.2011 um 07:49:41 Uhr
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
mark.doe
mark.doe 26.08.2011 um 13:30:48 Uhr
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....
Schrauber77
Schrauber77 30.08.2011 um 10:06:34 Uhr
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