Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung Batch & Shell

Mitglied: 37955

37955 (Level 1)

18.06.2007, aktualisiert 27.09.2007, 6118 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Batch & Shell
Batchdatei auf einem Server ausführen mit psexec.exe (18)

Frage von imebro zum Thema Batch & Shell ...

Batch & Shell
Batchdatei auch in den Unterverzeichnissen anwenden (7)

Frage von joejoesto zum Thema Batch & Shell ...

Batch & Shell
Wildcard im Dateinamen möglich bei Batchdatei? (3)

Frage von imebro zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Erneutes Starten eines Programmes mit Admin-Rechten

Tipp von Estefania zum Thema Windows 10 ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(3)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...