Linux 14.982 Themen, 106.376 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
KarstenW hardez „Ich hab irgendwie immernoch die dumme befürchtung, dass es an der größe der...“
Optionen

Wenn der Server heruntergefahren ist, dann existiert diese Writelock Datei nicht mehr.


....
until [ $i -eq 10 ]
do
i=`expr $i + 1`
sleep 60
if [ ! -f "$WL" ]---> Datei existiert nicht und wird auch nicht wieder angelegt solange das Shellscript läuft.
then
nowtime=$(date +'%D-%R')
echo "Start packing at "$nowtime >>$BackupLog
zip -r $BackupDestination $DirToBackup >>$BackupLog
#echo "zip"
...

Folglich wird die Schleife 10 mal ausgeführt. Dadurch wird auch zip 10 x gestartet.
Ich weiß jetzt nicht ob zip 10mal kurz hintereinader gestartet wird (wartet das Shellscript so lange bis zip beendet wurde oder macht das Shellscript gleich in der nächsten Zeile nach zip weiter ?) oder 10 nacheinander.
Au jeden Fall werden 10 Instanzen von zip erzeugt die jede für sich 70 GByte kopieren soll.

In diesem Script fehlt eine Abbruchbedingung, sonst wird zip 10 mal gestartet.
Ich würde zip überhaupt nicht in einer Schleife starten, sondern nur eine bolsche Variable setzen und erst am Ende zip EINMAL starten.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen