Linux 14.983 Themen, 106.385 Beiträge

Komisches Shellskript verhalten

hardez / 21 Antworten / Flachansicht Nickles

Hallo Leute,
ich hab ein seltsames verhalten bei einem Shellskript und weiß leider nicht mehr weiter.

Infos:
Ubuntu Linux (6.06 Dapper LTS) auf einem
Intel Dual Xeon á 1,6 GHz (4x1,6 GHz)
Raid 5 3x80 GB


Soviel zum System an sich.
Auf dem Server läuft VMWare Server 1.02 und in der VMWare läuft momentan ein Exchange Server.
Der Speicherplatz dieser VM ist komplett vorreserviert und nicht in 2GB blöcke aufgeteilt.

Diesen Exchange möchte ich nun per Shellskript auf einen externen NAS sichern.

Shellskript arbeitet (im groben) wie folgt:

-Variablen deklarieren
-VM herunterfahren
-Backup durchführen (Ordner in dem die VM liegt zippen und auf dem NAS speichern)
-VM starten
-Ende

Wenn ich dieses Skript von Hand anschmeiße ist auch alles OK.
Wenn ich dieses Skript auf eine andere VM anwende, bei der der Speicherplatz NICHT vorreserviert ist geht es auch.

Wenn ich allerdings das Skript per Cronjob um 3 Uhr Nachts ausführen lasse, Startet er das Skript, bricht aber nach ca. 4-700 MB Sicheurng OHNE Fehlermeldung ab.
In den Logs ist zumindest kein Fehler ersichtlich.

Jetzt kommt aber nicht mit Sprüchen wie: Dann schmeiß es doch per hand an.
Das geht nämlich nicht, da ich den Server zwischen 6 Uhr morgens und 1 Uhr nachts nicht herunterfahren darf.
Da ich nachts aber nicht arbeite, geht es nur per Cronjob!!

So nun hoffe ich das einer von euch ne Idee hat...

bei Antwort benachrichtigen
hardez KarstenW „Wenn der Server heruntergefahren ist, dann existiert diese Writelock Datei nicht...“
Optionen

es fehlt keine abbruchbedingung... glaub mir doch einfach!!


zip -r $BackupDestination $DirToBackup >>$BackupLog | erstellt Zip
#echo "zip"
mbcheck=`ls -al "$BackupDestination" | awk '{print $5}'` | weißt der Variable die größe der Datei zu
if [ $mbcheck -ge 734003200 ] | prüft ob Zipdatei größer 700 MB
then
i=10 | wenn dem so ist, wird I (das ist die loop variable) direkt auf 10 gesetzt!! das ist der ausstieg
status="SUCCESFULL" | aus dem loop!!!! es funktioniert!! also reite da bitte nicht weiter drauf rum!!! hätte man sicher
|auch eleganter machen können!

bei Antwort benachrichtigen