Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 per Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: 37955

37955 (Level 1)

18.06.2007, aktualisiert 27.09.2007, 5979 Aufrufe, 14 Kommentare

Hallo,

ich müsste ein Art auto. Datensicherung per Batch-Datei erstellen.
Nach meinem Wissensstand ist diese Lösung allerdings nicht per Kommandozeile realisierbar - hoffe ihr könnt mich eines besseren belehren!

Ziel:
Mehrere Dateien sollen per Mausklick oder Task in ein zuvor bestimmtes Verzeichnis kopiert werden. Es handelt sich dabei immer um die selben Dateien, deshalb müsste der Dateiname zuvor mit einer Art Zähler hochgesetzt werden.

Beispiel:
Ursprungsdatei: test.txt
1. Backup: test_00001.txt
2. Backup: test_00002.txt
usw.

Damit das Verzeichnis nicht unendlich mit "Altlasten" zugemüllt wird, sollen in diesem Verzeichnis immer nur Dateien der letzten 7 Tage vorhanden sein.

Gibt es hierfür eine Möglichkeit dieses Ziel durch eine Batchdatei zu realiseren oder nicht?
Eine Anwort für eine Backup-Software bringt mich nicht weiter... ;)
Mitglied: ElSnoopy
18.06.2007 um 15:08 Uhr
Ich habe das mit folgendem Bach gelöst
Damit wird Dir im Sicherungsverzeichniss ein unterordner mit Datum erstellt. und je nach einstellung nach 1 oder 30 Tagen gelöscht.

@echo off

REM
REM Anzupassen sind Quelle,Ziel,Tage mittels autodelXX.bat
REM
REM set Batch="C:\sicherung"
set Quelle="C:\sven\"
set Ziel="C:\Backup\%date%"
set templog="%temp%\temp.log"


echo .-. >>%windir%\backup.log
echo Starte Backup: %date% %time% von %Quelle% nach %Ziel% >>%windir%\backup.log

xcopy %Quelle% %Ziel% /s /c /i /f /h /k /o /x /y >>%windir%\backup.log
md %Ziel%
echo Starte Überprüfung >>%windir%\backup.log

start /w windiff.exe -Sdx %templog% -T %Ziel% %quelle%
find "different" %templog% >>%windir%\backup.log
echo Fertig >>%windir%\backup.log
start notepad.exe %windir%\backup.log


echo Loesche Verzeichnisse aelter als 14 Tage
echo del %ZIEL% /s /q >autodel14.bat

call autodel01.bat
del autodel01.bat

ren autodel02.bat autodel01.bat
ren autodel03.bat autodel02.bat
ren autodel04.bat autodel03.bat
ren autodel05.bat autodel04.bat
ren autodel06.bat autodel05.bat
ren autodel07.bat autodel06.bat
ren autodel08.bat autodel07.bat
ren autodel09.bat autodel08.bat
ren autodel10.bat autodel09.bat
ren autodel11.bat autodel10.bat
ren autodel12.bat autodel11.bat
ren autodel13.bat autodel12.bat
ren autodel14.bat autodel13.bat
ren autodel15.bat autodel14.bat
ren autodel16.bat autodel15.bat
ren autodel17.bat autodel16.bat
ren autodel18.bat autodel17.bat
ren autodel19.bat autodel18.bat
ren autodel20.bat autodel19.bat
ren autodel21.bat autodel20.bat
ren autodel22.bat autodel21.bat
ren autodel23.bat autodel22.bat
ren autodel24.bat autodel23.bat
ren autodel25.bat autodel24.bat
ren autodel26.bat autodel25.bat
ren autodel27.bat autodel26.bat
ren autodel28.bat autodel17.bat
ren autodel29.bat autodel28.bat
ren autodel30.bat autodel29.bat
ren autodel31.bat autodel30.bat
Bitte warten ..
Mitglied: 37955
18.06.2007 um 15:36 Uhr
Danke @ ElSnoopy

Allerdings erhalte ich nach dem Anmelden folgende Meldung:

Ungültiger Pfad
Ein Unterverzeichnis oder eine Datei mit dem Namen "C:\Backup\18.06.2007" existi
ert bereits.
Loesche Verzeichnisse aelter als 14 Tage
Der Befehl "autodel01.bat" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
C:\autodel01.bat konnte nicht gefunden werden
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.



Was steckt in der Datei "autodel01.bat"? Wo muss ich diese anlegen?
Bitte warten ..
Mitglied: ElSnoopy
18.06.2007 um 16:17 Uhr
noch giebt es keine autodel1.bat die giebt es ja erst nch 7 oder 14 Tagen je nachdem.
Du willst ja auch erst nach 7 tagen löschen
Bitte warten ..
Mitglied: 37955
18.06.2007 um 16:20 Uhr
Klar will ich erst nach 7 Tage löschen... also d.h. ich soll die Meldung ignorieren. In deinem Beispiel gibt es die Datei dann erst nach 14 Tagen?
Bitte warten ..
Mitglied: ElSnoopy
18.06.2007 um 16:27 Uhr
Ja kannst ignorieren wenn er dir die dateien gesichert hat.
zum testen einfach mal die autodel14 in autodel01 umbennen und dann nochmal schauen obe er löscht.
aber achtung problem ist er lösch nur den Inhalt nicht die Verzeichnisse
Bitte warten ..
Mitglied: miniversum
19.06.2007 um 08:39 Uhr
Das löschen von Dateien und Verzeichnis die älter als x Tage sind hatten wir hier in diesem Bereich schon mehrmals.
Das geht nur gut mit Zusatztools wie z.B. delage oder indem man die Forderung etwas anders definiert...
Kann man das "löschen nach x Tagen" ändern in "löschen das nur noch die aktuellsten x Verzeichnisse vorhanden sind" geht es einfach mit Bordmitteln. Wird das Backup Taglich durchgeführt würde dies so auch immer die letzten x Tage beinhalten.
Ein Entwurf dafür wäre dann so:

01.
@echo off 
02.
set "Quelle=C:\sven\" 
03.
set "Ziel=C:\Backup\" 
04.
set "Zielunterverz=%date:~6%%date:~3,2%%date:~0,2%" 
05.
set letztex=7 
06.
 
07.
REM Kopieren der Dateien 
08.
xcopy "%Quelle%" "%Ziel%\%Zielunterverz%" /s /c /i /f /h /k /o /x /y 
09.
 
10.
REM Löschen bis auf die letzten x Verzeichnisse 
11.
if %letztex% gtr 0 ( 
12.
set "skiptext=skip=%letztex% " 
13.
) else ( 
14.
set "skiptext=" 
15.
16.
FOR /F "%skiptext%delims=" %%i in ('dir %Ziel% /B /AD /O-D') do rd /s /q "%%i"
miniversum
Bitte warten ..
Mitglied: 37955
19.06.2007 um 09:27 Uhr
@miniversum
Deine Idee kommt mir noch einen Tick sympathischer vor und würde meinen Zweck vollkommen erfüllen.

Ich besitze auf c:\ einen Ordner Test, der die Dateien enthält und ein Ordner Backup, der als Zielverzeichnis dient. Ich habe deine Testdatei wie folgt angepasst:

@echo off
set "Quelle=C:\Test\"
set "Ziel=C:\Backup\"
set "Zielunterverz=%date:~6%%date:~3,2%%date:~0,2%"
set letztex=7

REM Kopieren der Dateien
xcopy "%Quelle%" "%Ziel%\%Zielunterverz%" /s /c /i /f /h /k /o /x /y

REM Löschen bis auf die letzten x Verzeichnisse
if %letztex% gtr 0 (
set "skiptext=skip=%letztex% "
) else (
set "skiptext="
)
FOR /F "%skiptext%delims=" %%i in ('dir %Ziel% /B /AD /O-D') do rd /s /q "%%i"


Leider erhalte ich folgende Meldung:
Ungültiger Pfad
0 Dateien kopiert
Bitte warten ..
Mitglied: miniversum
19.06.2007 um 10:09 Uhr
Ändere mal wie folgt ab:
01.
@echo off 
02.
set "Quelle=C:\Test\" 
03.
set "Ziel=C:\Backup\" 
04.
set "Zielunterverz=%date:~6%%date:~3,2%%date:~0,2%" 
05.
set letztex=7 
06.
 
07.
REM Kopieren der Dateien 
08.
xcopy "%Quelle%" "%Ziel%\%Zielunterverz%" /s /c /i /f /h /k /o /x /y 
09.
echo Kopiere von "%Quelle%" nach "%Ziel%\%Zielunterverz%" mit Ergebnis %errorlevel% 
10.
 
11.
REM Löschen bis auf die letzten x Verzeichnisse 
12.
if %letztex% gtr 0 ( 
13.
set "skiptext=skip=%letztex% " 
14.
) else ( 
15.
set "skiptext=" 
16.
17.
 
18.
FOR /F "%skiptext%delims=" %%i in ('dir "%Ziel%" /B /AD /O-D') do rd /s /q "%%i"
Was bekommst du als Ausgabe?

miniversum
Bitte warten ..
Mitglied: 37955
19.06.2007 um 10:26 Uhr
Ungültiger Pfad
0 Datei(en) kopiert
Kopiere von "C:\Test\" nach "C:\Backup\\20070619" mit Ergebnis 4
Bitte warten ..
Mitglied: miniversum
19.06.2007 um 10:52 Uhr
Du bekommst als fehler 4 zurück.
Lauf MS heißt das:
01.
Beendigungscode Beschreibung 
02.
         0      Dateien wurden ohne Fehler kopiert. 
03.
         1      Keine Dateien zum Kopieren gefunden. 
04.
         2      Der Benutzer hat STRG+C gedrückt, um xcopy zu beenden. 
05.
<b>         4      Ein Initialisierungsfehler ist aufgetreten. Es ist nicht genug Arbeitsspeicher oder Speicherplatz vorhanden, oder Sie haben in der Befehlszeile einen ungültigen Laufwerknamen oder eine ungültige Syntax eingegeben.</b> 
06.
         5      Fehler beim Schreiben auf den Datenträger aufgetreten.
Durch den zusätzlichen \ im
xcopy "%Quelle%" "%Ziel%\%Zielunterverz%"
hast du da zwei \ im Ziel stehen, also "C:\Backup\\20070619".
Könntest das ja mal in
xcopy "%Quelle%" "%Ziel%%Zielunterverz%"
ändern. Aber ich glaub eigentlich nicht das es daran liegt.

Im Prinzip kannst du auch das xcopy vom vorherigen auch übernehmen. der fehler liegt auf jedenfall beim Kopiervorgang.

miniversum
Bitte warten ..
Mitglied: 37955
19.06.2007 um 11:25 Uhr
Ok, danke! Teile 1 wäre geschafft, offenbar hatte er ein Problem mit der Variablen "Quelle". Diese hab ich nun entfernt und durch die Konstante "C:\Test\*.*\" ersetzt.

Nun habe ich die Variable "letztex" auf 2 gesetzt und in C:\Backup\ die Verzeichnisse "20070618" und "20070617" angelegt.

Theoretisch müsste er nach dem Anlegen des aktuellen Ordners den Ordner "20070617" löschen, oder? Macht er leider nicht... nun kommt folgendes Ergebnis raus:

C:\>backup2.bat
C:\Test\Test.txt -> C:\Backup\20070619\Test.txt
1 Datei(en) kopiert
Kopiere von "C:\Test\" nach "C:\Backup\20070619" mit Ergebnis 0
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Bitte warten ..
Mitglied: kotik81
26.09.2007 um 20:51 Uhr
Hallo,

ich brauche Hilfe! Ich habe eine Backup Batch gemacht und es funkt. eigener maßen, aber mir fällt noch dass, wenn im Quell die Datei nicht vorhanden ist aber dafür im Ziel, soll es im Ziel gelöscht werden. Und was kann man hier noch verbessern? Danke im Voraus!

@ECHO OFF
:neu
CLS
ECHO;
ECHO 1) Daten Kopieren
ECHO;
ECHO 2) Daten Restore
ECHO;
ECHO 3) Daten Backup
ECHO;
ECHO 4)
ECHO;
set choice=
set /P choice=Auswahl:
if not [%choice%]==[] set choice=%choice:~0,1%
if [%choice%] ==[4] goto vier
if [%choice%] ==[3] goto drei
if [%choice%]==[2] goto zwei
if [%choice%]==[1] goto eins
:eins

xcopy /E /H /Y "C:\Programme\Mozilla Firefox" /D /R /A /V "D:\Anwendungen\Mozilla Firefox\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Rainlendar" /D /R /A /V "D:\Anwendungen\Rest\Rainlendar\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Locktime" /D /R /A /V "D:\Anwendungen\Rest\Locktime\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mobile Master" /D /R /A /V "D:\Anwendungen\Rest\Mobile Master\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla" /D /R /A /V "D:\Anwendungen\Rest\Mozilla\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\concept design" /D /R /A /V "D:\Anwendungen\Rest\concept design\"
xcopy /E /H /Y "C:\Programme\Trillian" /D /R /A /V "D:\Anwendungen\Trillian\"
xcopy /E /H /Y "C:\Programme\autoUSD" /D /R /A /V "D:\Anwendungen\autoUSD\"

xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Talkback" /D /R /A /V "D:\Anwendungen\Rest\Talkback\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Thunderbird" /D /R /A /V "D:\Anwendungen\Rest\Thunderbird\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Thunderbird" /D /R /A /V "D:\Anwendungen\ThunderbirdLocal\"
xcopy /E /H /Y "C:\Programme\Mozilla Thunderbird" /D /R /A /V "D:\Anwendungen\Mozilla Thunderbird\"
pause
GOTO acht
:zwei
RD /S /Q "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla"
md "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla"


xcopy /E /H "D:\Anwendungen\Rest" /D /R /Y /A /V "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\"
xcopy /E /H "D:\Anwendungen\Mozilla Firefox" /D /R /Y /A /V "C:\Programme\Mozilla Firefox\"
xcopy /E /H "D:\Anwendungen\ThunderbirdLocal" /D /R /Y /A /V "C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Thunderbird\"
xcopy /E /H "D:\Anwendungen\Mozilla Thunderbird" /D /R /Y /A /V "C:\Programme\Mozilla Thunderbird\"
xcopy /E /H "D:\Anwendungen\Trillian" /D /R /Y /A /V "C:\Programme\Trillian\"
pause
GOTO acht
:drei
RD /S /Q "D:\Anwendungen\Backup"
md "D:\Anwendungen\Backup"
Echo Backup wurde geloescht!
pause
xcopy /E /H "D:\Anwendungen\Mozilla Firefox" /D /R /Y /A /V "D:\Anwendungen\Backup\Mozilla Firefox\"
xcopy /E /H "D:\Anwendungen\Rest" /D /R /Y /A /V "D:\Anwendungen\Backup\Rest\"
xcopy /E /H "D:\Anwendungen\Hitrecorder2" /D /R /Y /A /V "D:\Anwendungen\Backup\Hitrecorder2\"
xcopy /E /H "D:\Anwendungen\ThunderbirdLocal\" /D /R /Y /A /V "D:\Anwendungen\Backup\ThunderbirdLocal\"
xcopy /E /H "D:\Anwendungen\Mozilla Thunderbird" /D /R /Y /A /V "D:\Anwendungen\Backup\Mozilla Thunderbird\"
xcopy /E /H "D:\Anwendungen\Trillian" /D /R /Y /A /V "D:\Anwendungen\Backup\Trillian\"
echo;
Echo Backup wurde erstellt!
pause
GOTO acht
:acht
exit
Bitte warten ..
Mitglied: kotik81
27.09.2007 um 13:16 Uhr
Hat keiner eine Idee?
Bitte helft mir!
Bitte warten ..
Mitglied: kotik81
27.09.2007 um 13:17 Uhr
Hat keiner eine Idee?
Bitte helft mir!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Hyper-V
Altaro VM Backup auf RDX

Frage von smeclnt zum Thema Hyper-V ...

Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Vmware
Veeam für VM Ware Backup Fehler (3)

Frage von JoergN1968 zum Thema Vmware ...

SAN, NAS, DAS
gelöst NAS RAID5 - RAID0 und Backup (7)

Frage von easy4breezy zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...