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

Per Batch Gestern und Heute auf Zielpfad kopieren

Tipp Entwicklung Batch & Shell

Mitglied: dit-chuss

dit-chuss (Level 1) - Jetzt verbinden

27.11.2012 um 17:12 Uhr, 4372 Aufrufe

Grundsätzlich ging es bei mir um Datensicherung. Zunächst werden diverse Backups auf NetworkShares eines QNAP NAS geschrieben.
Da das QNAP NAS eine USB und eSATA Schnittstelle besitzt, wird die eSATA Schnittstelle benutzt, um immer die aktuelle Datensicherung auf eine externe Festplatte zu kopieren.

Die Problemstellung an diesem war allerdings, dass die Datensicherungen "Tagesübergreifend" erstellt wurden.
Jeweils die erste Sicherung läuft direkt abends gegen 20 Uhr. Alle weiteren Sicherungen verlaufen sich dann über die 00:00 Uhr Marke, womit wir dann bei dem nächsten Tag waren.

Jetzt stellte sich mir das Problem, dass ich gerne immer die aktuellste Sicherung auf der externen Festplatte hätte.
Dies wollte ich natürlich mit relativ Kostengünstigen Mitteln umsetzen.
Daher kam für mich direkt eine Batch Datei in Frage.
Nach einigem stöbern und Sucheim Netz sowie auf administrator.de bin ich dann auch fündig geworden.
(Sorry wenn ich die Leute nicht mehr nennen kann von denen ich mir die Informationen "Zusammenkopiert" habe.)

Die erste Datei brachte zumindest den "Teilerfolg" der Tageskopie mit erstellen eines Ordners mit aktuellem Datum.
Jetzt war noch das Problem "Gestern" zu lösen. Hier fand ich auch ein schönes vbs skript, welches mir den Tag versüßte ! (Vielen Dank an Biber für sein VBS Script welches hier zu finden ist).

Somit konnte ich dann die komplette Aufgabe in der Aufgabenplaung erstellen.
Zusätzlich habe ich dann noch via des Programms "BLAT" eine Email Benachrichtigung an das Ende gehangen. Somit wird man schön per Email benachrichtigt, wenn das Skript ausgeführt wurde.

!!ACHTUNG!!:
Vorweg habe ich noch einen Löschbefehl, welcher das Ziellaufwerk im Vorfeld löscht (sonst werden immer die Daten nur hinzukopiert)

01.
REM "Mit diesem Befehl werden alle vorhandenen Daten auf dem Ziellaufwerk geloescht" 
02.
U: 
03.
del *.* /s /q 
04.
rmdir U:\ /s /q 
05.
 
06.
setlocal 
07.
REM set "Quelle=\\server1\verzeichnis1" 
08.
REM set "Ziel=\\server2\verzeichnis-xyz" 
09.
 
10.
REM "hier geben Sie die Quelle und den Zielpfad an, mit diesem Ablauf werden Dateien von HEUTE kopiert mit Endung .tib!!!" 
11.
 
12.
set "Quelle=Y:\Quelllaufwerk" 
13.
set "Ziel=U:\Ziellaufwerk" 
14.
set "Typ=.tib" 
15.
 
16.
 
17.
REM "Hier werden die Variablen definiert" 
18.
REM "Variable: Heute" 
19.
 
20.
set "Datum=%date%" 
21.
 
22.
REM "Variable: Gestern" 
23.
 
24.
echo wscript.echo dateAdd("d",-1, date())>%temp%\Gestern.vbs  
25.
For /f %%i in ('cscript //nologo %temp%\Gestern.vbs') do set "Gestern=%%i"  
26.
del %temp%\Gestern.vbs 
27.
 
28.
 
29.
for /f "tokens=1-3 delims=." %%a in ("%Datum%") do set "ZielOrdner=%Ziel%\%%c-%%b-%%a" 
30.
md "%Zielordner%" 2>nul 
31.
 
32.
pushd "%Quelle%" 
33.
for /f "tokens=1-3*" %%a in ('dir /a-d /tc *%Typ%^|findstr /i /e "\%Typ%"') do if "%%a"=="%Datum%" copy "%%d" "%Zielordner%" 
34.
REM for /f "tokens=1-3*" %%a in ('dir /a-d /tc *%Typ%^|findstr /i /e "\%Typ%"') do if "%%a"=="%Datum%" echo move "%%d" "%Zielordner%" 
35.
popd 
36.
 
37.
 
38.
setlocal 
39.
REM set "Quelle=\\server1\verzeichnis1" 
40.
REM set "Ziel=\\server2\verzeichnis-xyz" 
41.
 
42.
REM "hier geben Sie die Quelle und den Zielpfad an, mit diesem Ablauf werden Dateien von GESTERN kopiert mit Endung .tib!!!" 
43.
 
44.
set "Quelle=X:\" 
45.
set "Ziel=U:\Backup_TS1" 
46.
set "Typ=.tib" 
47.
 
48.
REM "Hier werden die Variablen definiert" 
49.
REM "Variable: Heute" 
50.
 
51.
set "Datum=%date%" 
52.
 
53.
REM "Variable: Gestern" 
54.
 
55.
echo wscript.echo dateAdd("d",-1, date())>%temp%\Gestern.vbs  
56.
For /f %%i in ('cscript //nologo %temp%\Gestern.vbs') do set "Gestern=%%i"  
57.
del %temp%\Gestern.vbs 
58.
 
59.
 
60.
for /f "tokens=1-3 delims=." %%a in ("%Gestern%") do set "ZielOrdner=%Ziel%\%%c-%%b-%%a" 
61.
md "%Zielordner%" 2>nul 
62.
 
63.
pushd "%Quelle%" 
64.
for /f "tokens=1-3*" %%a in ('dir /a-d /tc *%Typ%^|findstr /i /e "\%Typ%"') do if "%%a"=="%Gestern%" copy "%%d" "%Zielordner%" 
65.
REM for /f "tokens=1-3*" %%a in ('dir /a-d /tc *%Typ%^|findstr /i /e "\%Typ%"') do if "%%a"=="%Gestern%" echo move "%%d" "%Zielordner%" 
66.
popd 
67.
 
68.
 
69.
 
70.
REM "Zum Mailversand nach dem Erfolgreichen durchlauf der Batchdatei - das Programm Blat muss im System32 Ordner liegen" 
71.
 
72.
blat -body "Die Sicherung auf die externe Festplatte ist abgeschlossen." -server smtp.provider.de -to empfängeradresse@domain.de -f sendeadresse@domain.de -subject "Datensicherung auf externe Festplatte" -u benutzeranmeldungfuermailversand -pw passwortfuermailversand

Ich habe hier einfach mal einen Durchlauf aufgeschrieben, welcher die aktuelle Datei von heute (also nach 00:00 Uhr) kopiert und dann noch eine Datei von Gestern (also vor 00:00 Uhr).
Wenn es mehrere Laufwerke oder Quellen sind, kann man einfach die Skriptzeilen untereinander kopieren und dann in der Batch ausführen. Dann wird alles nacheinander durchlaufen.

Bei mir klappt es zumindest. Wenn Fragen sind: nicht an mich . Ich wollte nur allen anderen die eventuell vor solch einem Problem stehen, eine Lösung bieten.
Bei mir hat es wunderbar funktioniert.

Wünsche euch allen noch nen schönen Tag!

Grüße
Chris

Ähnliche Inhalte
Sicherheit
Virenscanner gestern vs. heute (14)

Tipp von FA-jka zum Thema Sicherheit ...

Batch & Shell
gelöst Batch: alle Ordner mit einem bestimmten Namen kopieren (4)

Frage von Remsboys zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch aktuellsten Ordner kopieren (2)

Frage von MmarKuss zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

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

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (11)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...