PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [batch] Fehler bei Backupscript


DrWhiteLetter
15.07.2005, 16:13
Ich habe ein Backupscript geschrieben, welches ihr im Angang findet, insgesamt sind es 5 Scripte und jeden Tag wird eines (je noch Wochentag) vom Taskplaner aufgerufen. Der Prozess wird mit Administratoren-Rechte gestartet, der Tag der vorher gesichert wird, kommt in einen Ordner (bspw. Montag) ist dieser schon vorhanden, wird er vorher gelöscht.
Das Script war 4 Tage ohne Fehler im Betrieb, leider arbeite ich dort nun nicht mehr und ein ehemaliger Kollege hat mir heute folgende Mail geschrieben:


irgendwas stimmt mit der Datensicherung nicht.

Morgens ist die Archiv-Festplatte abgemeldet, ich muss dann erst den Server
neu starten um sie wieder lesen zu können.

Es kommen auch mehrere Meldungen, dass verschiedene Dateien nicht
gespeichert werden konnten.


Könnt ihr mir das erklären? Ansonsten müsste ich dort halt doch nochmal hin und mir selbst ein Bild davon machen.

Danke schonmal.

//Edit: Keine lust jetzt die Datei umzubenennen, hänge ich sie halt hier an:


:: ----------------------------------
:: Backup-Script von Tobias K.
:: Entworfen für das XXX
:: am 30-Juni-2005
:: ----------------------------------

:: Diverse unwichtige Optionen und Ausgaben
@echo off
TITLE Backup
ECHO Backup ist gestartet

:: Erstellt die Logdatei bzw. fügt das Datum an
ECHO %date:~9,4%-%date:~6,2%-%date:~3,2% >> log_day.txt

:: Löscht das Montag Verzeichnis und erstellt ein neues.
RD /S /Q Montag
MD Montag

:: Überprüfung ob Ordner vorhanden ist
:START
IF NOT EXIST Montag GOTO ERROR1

:: Kopiert Dateien in Backupordner
xcopy /S C:\Test3 Montag

GOTO END


:: Fehlermeldungen
:: ---------------

:ERROR1
ECHO Ordner "Montag" konnte nicht gefunden werden >> log_day.txt
ECHO Er wird nun erstellt >> log_day.txt
MD Montag
GOTO START


:: Erfolgreiches Ende des Programmes
:: ---------------------------------
:END
ECHO Backup abgeschlossen >>log_day.txt
ECHO =============================== >> log_day.txt


Jan Krüger
15.07.2005, 19:29
Wenn du keine Berechtigung hast, einen Ordner "Montag" anzulegen (oder die Platte voll ist, oder was auch immer an Problemen auftreten könnte), wird er in einer Endlosschleife immer wieder "angelegt", und dabei wird jedes Mal ein Log-Eintrag gemacht. So oder so ist die Festplatte also schnell voll, wenn das Anlegen nicht klappt.
Ansonsten sehe ich spontan keine Fehler. Möglicherweise liegt das Problem außerhalb des Scripts.

COCYHOK
16.07.2005, 00:12
Komisch ist auch, dass die Position des Verzeichnisses ‚Montag‘ relativ ist – also abhängig vom Ort, von dem das Skript ausgeführt wird. Du hast nicht geschrieben, wie es ausgeführt wird. Wenn es von Windows aus gestartet wird, kann das aktuelle Verzeichnis unterschiedlich sein. Es wird zum Beispiel geändert, wenn im Windows-Explorer ein Verzeichnis angezeigt wird.

DrWhiteLetter
16.07.2005, 01:07
Ja das stimmt so schon, die Verzeichnisse habe ich hier zwar zu testzwecken abgeändert aber auch im original-script sollen die Sicherungen dort erstellt werden, wo sich die Skripte befinden.

@Jan
Danke, daran dachte ich nicht, es läuft zwar unter Admin-Rechten und es sollte überall zugriff haben (das war nicht meine Idee, mir war das garnicht so recht), trotzdem ist es eine Bedingung, die ich nicht berücksichtigt habe.

Ahh, man... da verlässt man die Arbeitsstelle und plötzlich kommen lauter Probleme, gerade wenn man selbst keine Zeit hat... das passt mir nun garnicht.

Vor allem ist das bei diesem Server eh schlimm, da in drei Leute gleichzeitig administrieren und nie jemand weiß, was der Andere gemacht hat.
Aber die behaupten nun, dass es an meinem Script liegt... naja, muss ich doch mal hinfahren.

COCYHOK
17.07.2005, 14:37
Ja das stimmt so schon, die Verzeichnisse habe ich hier zwar zu testzwecken abgeändert aber auch im original-script sollen die Sicherungen dort erstellt werden, wo sich die Skripte befinden.Das Arbeitsverzeichnis ist eben nicht immer das Verzeichnis, in dem das Skript liegt. Wenn das aktuelle Verzeichnis c:\ ist und du über mstask das Skript qwe.bat in c:\hurz\ ausführen lässt, dann bleibt das Arbeitsverzeichnis c:\ und das Skript wird mit dem Befehl c:\hurz\qwe.bat ausgeführt.
Achte also auf das korrekte Verzeichnis. Am sichersten ist es, wenn du direkt nach @echo off die Zeile cd/d c:\hurz\ einfügst.

DrWhiteLetter
17.07.2005, 14:44
Oh, wusste ich nicht, danke für den Hinweis.

:)

DrWhiteLetter
25.07.2005, 12:50
Ich habe mal eine PDF mit den Fehlermeldungen angehängt, die mir der dortige EDVler schickte. Ich weiß einfach nicht weiter, es scheint mit xcopy zusammen zu hängen. :confused:

Jan Krüger
25.07.2005, 17:58
Ich würde die Hardware und die Treiber überprüfen. Ich glaube eigentlich nicht, dass es am Script liegt.