Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Backup mit Sicherung der alten Daten

Frage Entwicklung Batch & Shell

Mitglied: dontknow

dontknow (Level 1) - Jetzt verbinden

14.11.2007, aktualisiert 22.11.2007, 5573 Aufrufe, 5 Kommentare

Hallo zusammen!

Ich habe schon lange gesucht, und bis jetzt nicht das ganz passende gefunden...
Ich mache per Batch-Datei ein Inkrementelles Backup (wahlweise Robocopy oder xcopy).
Funktiniert auch alles recht gut.
Ich hätte gerne noch die Option, dass alten die Dateien und Ordner (im Robocopy-logfile als "Older" gekennzeichnet) und die in der Quelle gelöschten Dateien und Ordner (im Robocopy-logfile als "*EXTRA File / Extra Dir" gekennzeichnet). in einen separaten Ordner geschoben werden (den ich mit Zeitstempel versehen würde).
Das Ziel ist, immer ein genaues Abbild des Quellordners zu haben aber die alten Daten nicht einfach zu überschreiben und die "Extra Files" nicht einfach zu löschen, da man die u.U. nochmal brauchen könnte, wenn man sich was zeschossen hat, und es zu spät merkt.
Das wäre meines Erachtens nach eine sehr übersichtliche und sichere Lösung, aber ich bekomme es so nicht hin!

Wie vorne schon geschrieben, suche ich schon recht lange (auch in diesem Forum), habe aber bis jetzt noch nicht das richtige gefunden. Ich hoffe nicht, dass ich zu blöd zum suchen bin, weil ich doch meine, dass so etwas doch für viele User Sinn machen würde.

Danke schonmal im Voraus für die Mühen!

PS: Das Forum ist einsame Spitze für alles um Windos und speziell für alle Batch Tricks und Kniffe

Gruß

Michael
Mitglied: Biber
14.11.2007 um 22:35 Uhr
Na ja, dontknow,

dann mal "Butter bei die Fische", wie man/frau bei uns sagt.
Dann poste doch mal die relevanten Ausschnitte Deines Batches und vor allem einen "typischen" Beispielausschnitt des Robocopy-Logfiles.

Sonst bleibt es zu abstrakt und auch zu dröge für die MitleserInnen...

Grüße
Biber
Bitte warten ..
Mitglied: dontknow
14.11.2007 um 23:29 Uhr
Hallo zusammen,

hier die wichtige Zeile meiner Batch:

robocopy D:\ \\192.168.5.252\Michael\DS-NB-Akt\D\ /B /E /R:3 /W:2 /LOG:D:\LogDSH-F.txt

In der LogDSH-F.txt steht dann z.B. so etwas drin:

Older 43 desktop.ini 0% 100%
1 D:\Entwicklungen\
*EXTRA Dir -1 \\192.168.5.252\Michael\DS-NB-Akt\D\Entwicklungen\_bv-hw\
*EXTRA Dir -1 \\192.168.5.252\Michael\DS-NB-Akt\D\Entwicklungen\PC-Geh
New File 373760 #Aufkleber-BV-PC.doc 0% 17% 35% 52% 70% 87% 100%

(Die Tabelle nur, damit es lesbar ist, ist eine normale ASCII mit Tabs)

Ich hätte gerne in diesem Fall die Desktop.ini und die beiden "*Extra Dir" auf der Netzwerkplatte in einen definierten Ordner verschoben (oder vor der eigentlichen Sicherung kopiert), dann könnte ich Robocopy so einstellen, dass es die "Older" Files überschreibt und die "*Extra..." löscht.
Die Löschung und Überschreibung möchte ich aber nicht ohne die vorherige Sicherung machen, da es ja mal sein kann, dass man sich Daten löscht oder "kaputtbearbeitet".
Wenn man dass erst nach der nächsten Datensicherung merkt, ist es zu spät.
Ich wollte dann immer neue Ordner mit den "alten Ständen" erzeugen, die man dann nach einigen Montaten nach Bedarf löschen kann.
Ich hoffe, ich konnte mein Anliegen näher bringen, wäre toll, wenn jemand da eine gute Idee hat!

Das muss auch nicht unbedingt mit Robocopy gelöst werden, alles was sich irgendwie "Batchen" lässt ist OK für mich.
(natürlich so einfach wie möglich )

Danke

Michael
[Edit Biber] Hier noch mal für die echten Bätcher im Original:
01.
Older		 43		 desktop.ini    0%  100%					  
02.
 		 1		 D:\Entwicklungen\						  
03.
*EXTRA Dir	 -1		 \\192.168.5.252\Michael\DS-NB-Akt\D\Entwicklungen\_bv-hw\	  
04.
*EXTRA Dir	 -1		 \\192.168.5.252\Michael\DS-NB-Akt\D\Entwicklungen\PC-Geh	  
05.
New File	 373760	 #Aufkleber-BV-PC.doc  0%  17%   35%   52%   70%   87%  100%	 
[/Edit]
Bitte warten ..
Mitglied: miniversum
15.11.2007 um 08:19 Uhr
Hier mal meine ungetestete Idee dazu:
01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
set "quelle=C:\quellordner" 
04.
set "ziel=C:\sicherungsordner" 
05.
set "backup=C:\backupordner\%date%" 
06.
 
07.
:: Auslesen welche Dateien und Verzeichnisse kopiert werden wuerden in eine temponaere Liste 
08.
xcopy "%quelle%" "%ziel%" /c /s /e /r /v /d /y /i /h /f /o /x /L>"%temp%\liste.txt" 
09.
 
10.
:: Kopieren der Dateien in der Liste zum Backup 
11.
FOR /F "delims=" %%f in ("%temp%\liste.txt") do ( 
12.
set "backuppart=%%f" 
13.
set "backuppart=!backuppart:%ziel%=!" 
14.
copy "%%f" "%backup%\%backuppart%" 
15.
16.
 
17.
:: Nun kopieren des Dateien und Verzeichnisse 
18.
xcopy "%quelle%" "%ziel%" /c /s /e /r /v /d /y /i /h /f /o /x 
19.
 
20.
:: Loeschen der temponaeren Liste 
21.
del "%temp%\liste.txt"
miniversum
Bitte warten ..
Mitglied: dontknow
22.11.2007 um 20:58 Uhr
Hallo und danke für den Tipp nochmal!

Sorry wegen der späten Meldung, aber ich habe in den letzten Tagen erst viel an diesem Problem weitergebastelt...
Der Tipp hat bei mir zwar so nicht funktioniert, aber die Idee mit der Liste war super!!!
Aber nochmal zu Verständnis:
Muss hier nicht was mit "Tokens" rein?
01.
FOR /F "delims=" %%f in ("%temp%\liste.txt") do (
Und was soll diese Zeile ganu bewirken:
01.
set "backuppart=!backuppart:%ziel%=!"
Ich habe die Listen-Idee etwas verändert und erweitert,
hier mein derzeitiger Stand:

01.
@echo off 
02.
if exist BackupFehler.txt del BackupFehler.txt 
03.
for /F "tokens=1,2" %%a in ('Date /T') do set HEUTE=%%a 
04.
 
05.
set Quelle=D:\ 
06.
set /p "ZielDisk=Bitte Sicherungslaufwerk angeben (ohne :) " 
07.
set "Backup=%ZielDisk%:\DatenSicherung-NB\Backup_%HEUTE:~8,4%%HEUTE:~3,2%%HEUTE:~0,2%" 
08.
set "Ziel=%ZielDisk%:\DatenSicherung-NB\D" 
09.
::!!!Unbedingt bei :BackupExtraFile den Eintrag ":~23," an die Länge des Zielpfads anpassen!!! 
10.
set /p "Ablauf=Nur (S)icherung oder mit (B)ackup: " 
11.
if %Ablauf%==s goto Sichern 
12.
 
13.
::Liste der Backup-Dateien erstellen 
14.
robocopy %Quelle% %Ziel% /B /FFT /MIR /R:3 /W:2 /XD $_ $PArchiv Recycler "System Volume Information" /NDL /NS /NJH /NJS /L >"ListeBackup.txt" 
15.
 
16.
:: Kopieren der Dateien in der Liste zum Backup 
17.
FOR /F "tokens=1,2 delims=	" %%i in (ListeBackup.txt) do call :BackupLoop "%%i" "%%j%" 
18.
 
19.
:Sichern 
20.
echo. 
21.
echo Beginne mit der Sicherung.... 
22.
echo. 
23.
robocopy %Quelle% %Ziel% /B /FFT /MIR /R:3 /W:2 /XD $_ $PArchiv Recycler "System Volume Information" 
24.
robocopy "C:\Dokumente und Einstellungen\Keite\Desktop" "%ZielDisk%:\DatenSicherung-NB\Desktop" /B /FFT /MIR /R:3 /W:2 
25.
if %ERRORLEVEL% GEQ 8 goto EndeFehler 
26.
if exist BackupFehler.txt goto EndeFehler 
27.
 
28.
:EndeErfolg 
29.
echo. 
30.
echo ########################################### 
31.
echo # Die Sicherung wurde erfolgreich beendet!  
32.
echo # (Robocopy-Ergebnis %ERRORLEVEL% )           
33.
echo # Taste drcken um Fenster zu schlieáen...  
34.
echo ########################################### 
35.
Pause >nul 
36.
goto :EOF 
37.
 
38.
:EndeFehler 
39.
if exist BackupFehler.txt call BackupFehler.txt 
40.
echo. 
41.
echo ########################################### 
42.
echo # Es ist ein Fehler aufgetreten!            
43.
echo # (Robocopy-Fehler %ERRORLEVEL% )           
44.
echo # Taste drcken um Fenster zu schlieáen...  
45.
echo ########################################### 
46.
Pause >nul 
47.
goto :EOF 
48.
 
49.
:----------------------------------------------Backup-Subroutine 
50.
:BackupLoop 
51.
 
52.
set FileTyp=%1 
53.
echo %FileTyp% 
54.
if %FileTyp%=="    New File  " goto EndeBackupLoop 
55.
if %FileTyp%=="    Newer     " goto BackupNewFile 
56.
if %FileTyp%=="  *EXTRA File " goto BackupExtraFile 
57.
goto EndeBackupLoop 
58.
 
59.
:BackupNewFile 
60.
set BackupQuellPfad=%2 
61.
set BackupQuellPfad=%Ziel%%BackupQuellPfad:~3,-1% 
62.
set BackupZielPfad=%2 
63.
set BackupZielPfad=%Backup%%BackupZielPfad:~3,-1%* 
64.
xcopy "%BackupQuellPfad%" "%BackupZielPfad%" /S /V /H /R /Y /C 
65.
if NOT %ERRORLEVEL%==0 echo ERR-BcpNF bei: "%BackupQuellPfad%" >>BackupFehler.txt 
66.
goto EndeBackupLoop 
67.
 
68.
:BackupExtraFile 
69.
set BackupQuellPfad=%2 
70.
set BackupQuellPfad=%BackupQuellPfad:~1,-1% 
71.
set BackupZielPfad=%2 
72.
set BackupZielPfad=%Backup%%BackupZielPfad:~23,-1%* 
73.
xcopy "%BackupQuellPfad%" "%BackupZielPfad%" /S /V /H /R /Y /C 
74.
if NOT %ERRORLEVEL%==0 echo ERR-BcpEF bei: "%BackupQuellPfad%" >>BackupFehler.txt 
75.
 
76.
:EndeBackupLoop 
77.
goto :EOF 
78.
:----------------------------------------------Backup-Subroutine-Ende
Zur Erläuterung:
Erstmal lösche ich die alter Fehler-Logdatei und erstelle eine Variable für einen Zeitstempel.
Dann frage ich das Sicherungslaufwerk ab, da ich je nach Standort auf eine andere Platte sichern möchte
Das Verzeichnis "DatenSicherung-NB" bleibt gleich,
Dann werden die Pfade für "Backup" und "Ziel" erstellt.
Die Liste selber erstelle ich mit Robocopy, da gibts einige Optionen,
die eine Übersichtliche Gestaltung der Liste ermöglichen und den überflüssigen Kram raus lassen.
Der große Vorteil hierbei ist, dass von Robocopy die "Extra-Files" mit angegeben werden
(um die kümmert sich xcopy meines Wissens leider nicht).
Dann wird jeder Listeneintrag in einer Schleife abgearbeitet:
-Abfrage ob der Eintrag überhaupt als Backup in Frage kommt (Bei "New File" nicht nötig)
-Die entsprechende Backupschleife ausführen (notwendig, weil die "Newer" und
"Extra" Files jewils andere Pfadangaben in der Liste haben)
-Fehler bei einem Backup-Vorgang werden in der Datei "BackupFehler.txt" hinterlegt.

Danach wird die eigentliche Datensicherung (!und Löschung der überflüssigen!) mittels Robocopy durchgeführt.
Zum guten Schluss gibts noch ne Meldung, ob alles OK war, oder ob Fehler aufgetreten sind.
Das kann man nochwesentlich komfortabler gestalten, für die Robocopy-Fehlercodes
gibt es einen schönen "Einbauvorschlag" für Batch-Dateien in der Doku...

Jetzt aber genug vom Geschwafel!
Danke nochmal für den Tipp und wenn jemand noch Verbesserungsvorschläge hat oder Fragen,
immer her damit, werden stets gerne genommen (Zumal das alles trotz erster erfolgreicher Tests
keinen Anspruch auf Perfektion erhebt)

Michael
Bitte warten ..
Mitglied: miniversum
22.11.2007 um 21:39 Uhr
Zur Erklärung:
Mit
FOR /F "delims=" %%f in ("%temp%\liste.txt") do (
set "backuppart=%%f"
wird jede Zeile einzeln aus der Datei ausgelesen und in die Variable backuppart geschrieben. Dort steht dann der Dateiname mit Pfadangabe der Dateien drin die den Zielordner kopiert werden würden. Die Pfadangabe ist allerdings die des Zielordners. Daher wird hier mit
set "backuppart=!backuppart:%ziel%=!"
Der Teil des textes der gleich dem Zielordner entspricht einfach entfernt (siehe dazu set /?) und beim vorherigen sichern der Backupordner davor gestellt.

miniversum
Bitte warten ..
Ähnliche Inhalte
Backup
Hyper-V Backup nach der Sicherung auf alten Datenstand
Frage von mk139Backup5 Kommentare

Hallo zusammen, ich habe eine Hyper-V Festplatte weg gesichert und in einem anderen Server einen neue Virtuellen Server erstellt ...

Backup
Backup Exec Restore von alten .bkf Daten
gelöst Frage von letstryandfindoutBackup10 Kommentare

Hallo zusammen, ich habe ein gröberes Problem und stecke leider fest. Ich habe einen Kunden bei dem der komplette ...

Backup
Verschlüsselte Daten Sicherung Win
Frage von DerEisigeBackup1 Kommentar

Hallo Leute, ich bin auf der Suche nach einer Möglichkeit wie ich mit meinem Win Rechner automatisch verschlüsselte Backups ...

Backup
Veeam Bandsicherung löscht alte Sicherungen nicht
gelöst Frage von XartorBackup14 Kommentare

Hallo zusammen, ich habe ein kleines Problem mit Veeam und der Bandsicherung. Die Sicherung an sich funktioniert wunderbar incl. ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 10 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 13 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...