elf0r
Goto Top

Datensicherung via batch

Hi @ all,

brauche eine Batch-Datei für eine Datensicherung, die die Gesamten Daten zählt, diese Datenmenge in MB angibt und das ganze in eine Logdatei schreibt. Ich habe da schon was mit robocopy aber es soll über xcopy gemacht werden.

Hier mein bisheriger Quelltext.

@echo off
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a
robocopy "Quellpfad" "Zielpfad" "*.*" /e /s >> %cdate%.log

Danke schonmal

Christian

Content-ID: 21521

Url: https://administrator.de/forum/datensicherung-via-batch-21521.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

Fungo
Fungo 13.12.2005 um 09:30:47 Uhr
Goto Top
Hallo,
versuchs mal damit, könnte dir helfen.


set Quelle="PFADANGABE"
set Ziel="PFADANGABE\%date%"
set templog="%temp%\temp.log"
echo . >>%windir%\backup.log
echo Starte Backup: %date% %time% von %Quelle% nach %Ziel% >>%windir%\backup.log
md %Ziel%
xcopy %Quelle% %Ziel% /s /v /c /i /f /h /k /o /x /y >>%windir%\backup.log
rem echo Starte Überpruefung >>%windir%\backup.log
rem start /w windiff.exe -Sdx %templog% -T %Ziel% %quelle%
rem find "different" %templog% >>%windir%\backup.log
echo Fertig >>%windir%\backup.log
start notepad.exe %windir%\backup.log


MfG Fungo
eLf0r
eLf0r 13.12.2005 um 10:08:41 Uhr
Goto Top
Das hat fast alles geklappt nur leider das zählen nicht, aber trotzdem vielen dank.

MfG
Christian
Biber
Biber 13.12.2005 um 19:42:09 Uhr
Goto Top
::-------snipp Fungo_002.bat

set Quelle="PFADANGABE"   
set Ziel="PFADANGABE\%date%"   
set templog="%temp%\temp.log"   
echo . >>%windir%\backup.log 
echo Starte Backup: %date% %time% von %Quelle% nach %Ziel% >>%windir%\backup.log 
md %Ziel% 
xcopy %Quelle% %Ziel% /s /v /c /i /f /h /k /o /x /y >>%windir%\backup.log
<b>for /F %%i in ('find "Datei(en)" backup.log') do set "Anzahl=%%i"  
rem echo %Anzahl% Dateien kopiert.
for /F "tokens=3" %%i in ('dir /-c %Ziel%^|find "Datei(en)"') do set "Anzahl=%%i"  
echo Gesicherte Bytes: %Anzahl%
set /a %Anzahl%/=1024 
echo Gesicherte KBytes: %Anzahl% 
set /a %Anzahl%/=1024 
echo Gesicherte MBytes: %Anzahl% </b>
rem echo Starte Überpruefung >>%windir%\backup.log 
rem start /w windiff.exe -Sdx %templog% -T %Ziel% %quelle% 
rem find "different" %templog% >>%windir%\backup.log   
echo Fertig >>%windir%\backup.log 
start notepad.exe %windir%\backup.log 
::-------snapp Fungo_002.bat
Der "Dir /-c"- Parameter nimmt den Tausenderpunkt aus der Bytes-Anzeige raus. Mit Tausenderpunkt lässt sich sonst nicht rechnen.

Die Kurzform "Set /a zahl/=1024" ist auch so ein undokumentiertes M$-Schmankerl.
Bedeutet so viel wie zahl=zahl/1024, was man/frau aber unterm CMD als Set /a zahl=%zahl%/1024 schreiben müsste.

Musst nur aufpassen, dass
a) natürlich nur die Gesamtgröße des Zielverzeichnisses angegeben wird. Stimmt nur mit der Anzahl der geschaufelten Bytes überein, wenn Zielverzeichnis leer war.
b) der Bytes-Wert darf nicht zu groß werden, da unterm CMD-Prompt bestenfalls mit einstelligen Gigabyte-Größen gerechnet werden kann.
Einer der 29766 unerwähnten M$-Kleinbugs. Such mal im Bereich "Batch & Shell" nach "Freedisk". Da hatte ich das mal durchgekaspert.

HTH Biber
P.S. Mein nächstes Batch-Tutorial mache ich mal zum Thema "undokumentierte Batch-Bugs und Features" *grübel*

[Edit] Nachgeliefert: der Link zu dieser Freedisk/kann nur bis nur bis GigaByte-Größenordnungen unterm CMD rechnen:
Fragen zu Freedisk (CMD)
Allerdings hab ich gesehen, dass noch nicht erwiesen ist, dass mein damaliger Batch beim Fragesteller funktioniert. Im Zweifelsfall noch mal bei HdR-Gilgalad nachhaken - der hat noch nicht geantwortet.
[/Edit]
Fungo
Fungo 13.12.2005 um 20:03:57 Uhr
Goto Top
Hey nicht schlecht Biber. ich hab das so schnell net hinbekommen face-smile Das kann ich auch gut gebrauchen. Bin mal auf dein Tutorial gespannt.

Gruss Fungo
eLf0r
eLf0r 14.12.2005 um 06:46:50 Uhr
Goto Top
Vielen Dank für eure Mühen,
aber das zählen geht immer noch net.

Kann es sein das es an XP liegt?

Gruss
Christian
Biber
Biber 14.12.2005 um 10:24:51 Uhr
Goto Top
Moin eLf0r,

aber das zählen geht immer noch net.
Kann es sein das es an XP liegt?
a) ...funk-ti-o-niert immer noch nicht face-wink
b) nö, liegt bestimmt nicht an XP, sondern daran, dass es (zumindest von meiner Seite) eine schnell runtergetippte ungetestete Skizze war.

Kannst Du das Nicht-Funktionieren etwas näher eingrenzen? Gibt es Fehlermeldungen? Oder anders gefragt: was von der obigen Skizze funktioniert denn?

Du hast völlige Freiheit, eventuelle Tippfehler in meinem Schnipsel zu korrigieren - ich hatte gestern nur wieder mal, trotz aller guten Vorsätze, vergessen "ungetestete Skizze" dranzuschreiben.
Werde versuchen, mich zu bessern.
Grüße Biber