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

Tipp Entwicklung Batch & Shell

Per Batch Gestern und Heute auf Zielpfad kopieren

Mitglied: dit-chuss

dit-chuss (Level 1) - Jetzt verbinden

27.11.2012 um 17:12 Uhr, 4397 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
Tipp von FA-jkaSicherheit14 Kommentare

Hallo, Gestern: „Oh toll“! Heute: „Oh Mist“! Ich empfehle Format C: zynische Grüße, Jörg

Microsoft
Gestern bei Microsoft ..
Information von FrankMicrosoft60 Kommentare

Gestern hatte ich das Vergnügen mit hochrangigen Microsoft Mitarbeitern über die zukünftige Strategie von Microsoft zu den Themen: "Die ...

Perl
Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag
Information von Penny.CilinPerl6 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Festplatten, SSD, Raid
Festplatten-Partionen kopieren-klonen-imagen
Anleitung von KuemmelFestplatten, SSD, Raid23 Kommentare

Hallo Forengemeinde! Da die Frage in letzter Zeit ja wieder immer öfter auftritt, wie man denn am besten eine ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 40 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 12 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...