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
GELÖST

Dateisicherung mit Robocopy

Frage Entwicklung Batch & Shell

Mitglied: Galipoli

Galipoli (Level 1) - Jetzt verbinden

27.01.2015, aktualisiert 31.01.2015, 1076 Aufrufe, 13 Kommentare, 1 Danke

Hallo zusammen,

ich bin ganz neu was das Thema programmieren angeht und habe in meiner ersten Woche die Aufgabe erhalten eine Batch Datei zu schreiben in der via robocopy von verschiedenen servern dateien gesichert werden.

Zum testen habe ich Ordner und Dummy Dateien auf meiner Festplatte angelegt und die folgendene Batch Datei geschrieben:

@Echo off
cls

rem Test zur Datensicherung

echo Datensicherung der GLT Server >>"G:\98 Sonstiges\Marc\LOGs\log-%date:~0,2%-%date:~3,2%-%date:~6,4%.log"
echo.

rem Variablen definieren

set _14Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _17Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _18Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _19Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _20Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _22Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _23Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
set _24Quelle="G:\98 Sonstiges\Marc\GLT Server Test\xx.xx.x.x"
echo.
set _14Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _17Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _18Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _19Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _20Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _22Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _23Ziel="G:\98 Sonstiges\Marc\Sicherung"
set _24Ziel="G:\98 Sonstiges\Marc\Sicherung"
echo.
set _14Datei="*.*"
set _17Datei="*.*"
set _18Datei="*.*"
set _19Datei="*.*"
set _20Datei="*.*"
set _22Datei="*.*"
set _23Datei="*.*"
set _24Datei="*.*"
echo.
call :copyServer
goto :EOF

:copyServer
set _para=/B /E /R:5 /W:3 /MT:8
set _log=/LOG:"G:\98 Sonstiges\Marc\LOGs\log-%date:~0,2%-%date:~3,2%-%date:~6,4%.log" /TEE /NDL

robocopy %_14Quelle% %_14Ziel% %_14Datei% %_para% %_log%
robocopy %_17Quelle% %_17Ziel% %_17Datei% %_para% %_log%
robocopy %_18Quelle% %_18Ziel% %_18Datei% %_para% %_log%
robocopy %_19Quelle% %_19Ziel% %_19Datei% %_para% %_log%
robocopy %_20Quelle% %_20Ziel% %_20Datei% %_para% %_log%
robocopy %_22Quelle% %_22Ziel% %_22Datei% %_para% %_log%
robocopy %_23Quelle% %_23Ziel% %_23Datei% %_para% %_log%
robocopy %_24Quelle% %_24Ziel% %_24Datei% %_para% %_log%

goto :EOF

:EOF


Mein Chef gab mir gestern als Hinweis das ich doch bitte den Befehl call nutzen soll um alles etwas schöner darzustellen, außerdem sollen alle kopiervorgänge zeitglich ablaufen, dies hatte ich ursprünglich durch das vorsetzten von start vor robocopy machen wollen, soll aber auch hier eine andere Lösung vorbringen.

Nach ausgiebiger Suche komme ich aber einfach nicht weiter, da ich aber schon ein paar Hilfreiche Tipps hier erlesen konnte, hoffe ich nun einfach mal auf euch

Vielen Dank schon mal an alle!
Mitglied: emeriks
27.01.2015 um 16:44 Uhr
Das mit dem "start" war schon richtig.
Und "call" macht die Sache unglaublich schöner. Ja. Unglaublich ....
Keine Ahnung, was Dein Chef da sehen will. Entscheidend ist doch das Ergebnis?

Und viele Copy Jobs parallel sind u.U. kontraproduktiv, weil sie sich gegenseitig Bandbreite, CPU und Festplatten-IO weg nehmen. Da wäre es vielleicht sinnvoller, statt dessen bei den einzelnen robocopy's die Thread-Anzahl zu erhöhen. (Standard sind meines Wissens 8 Threads) Siehe Schalter "/MT".

E.
Bitte warten ..
Mitglied: Galipoli
27.01.2015 um 19:11 Uhr
Hätte ich ja auch gedacht und funktionieren tut es soweit ja auch. Daher steh ich da gerade, zumindest für mich aktuell vor einer unlösbaren Aufgabe.
Bin für jeden Vorschlag dankbar der es etwas "hübscher" macht!
Bitte warten ..
Mitglied: Endoro
28.01.2015 um 16:32 Uhr
Hey,
so kann man nichts dazu sagen. Eventuell mit den Realdaten, wenn die einer Struktur (14 17 18 19 20 22 23 24) folgen.
Gruß, Endoro
Bitte warten ..
Mitglied: Galipoli
28.01.2015 um 16:45 Uhr
Was meinst du bzw. welche Angaben bräuchtest du?
Bitte warten ..
Mitglied: Endoro
28.01.2015 um 17:07 Uhr
Hey! Diese Folge (14 17 18 19 20 22 23 24) kommt ja irgendwo her und lässt sich vielleicht generalisieren. Dazu braucht man Originaldaten, um Gesetzmäßigkeiten zu entdecken.

Gruß, Endoro.
Bitte warten ..
Mitglied: Galipoli
28.01.2015 um 19:12 Uhr
Hi!

Ah ok, also die Zahlenfolge bezieht sich auf unsere Standorte in Deutschland und finden sich jeweils in der IP Adresse wieder...

Grüße
Bitte warten ..
Mitglied: Endoro
28.01.2015 um 20:18 Uhr
... was schon mal ein Ansatz wäre.
Gruß, Endoro.
Bitte warten ..
Mitglied: emeriks
28.01.2015, aktualisiert um 20:23 Uhr
Er meint sowas

01.
for %%z in (14 17 18 19 20 22 23 24) do call :ToDo %%z 
02.
 
03.
goto :EOF 
04.
 
05.
:ToDo 
06.
 
07.
blablabla %1hier %1da /a /b /c /d /e 
08.
 
09.
 
10.
goto :EOF
Bitte warten ..
Mitglied: Galipoli
28.01.2015 um 21:06 Uhr
Danke für eure Hilfe erstmal, allerdings verstehe ich nicht ganz wie ich das in meinem Script unterbringen soll...
Bitte warten ..
Mitglied: pieh-ejdsch
29.01.2015, aktualisiert um 15:51 Uhr
moin,

in etwa so
01.
@echo off 
02.
setlocal 
03.
 rem Variablen reset 
04.
for %%i in (Quelle Ziel Datei) do for /f "delims==" %%s in ('set %%i_ 2^>nul') do set "%%s=" 
05.
 
06.
::---------------------------------- 
07.
::---------------------------------- 
08.
 
09.
 rem Beginn Einstellungen 
10.
::---------------------------------- 
11.
 rem Quellen 
12.
 
13.
set "Quelle_14=G:\Quelle14" 
14.
set "Quelle_17=G:\Quelle17" 
15.
set "Quelle_18=G:\Quelle18" 
16.
set "Quelle_19=" 
17.
set "Quelle_22=" 
18.
 
19.
 
20.
::---------------------------------- 
21.
 rem Ziele 
22.
 
23.
 set "Zpfad=G:\Sicherungen" 
24.
 
25.
set "Ziel_14=%Zpfad%\Ziel14" 
26.
set "Ziel_17=%Zpfad%\Ziel17" 
27.
set "Ziel_18=%Zpfad%\Ziel18" 
28.
set "Ziel_19=" 
29.
set "Ziel_20=" 
30.
 
31.
 
32.
::----------------------------------- 
33.
 rem Dateien 
34.
  rem *.* ist nicht notwendig als Platzhalter 
35.
 
36.
set Datei_14= 
37.
set Datei_17=*.doc  
38.
set Datei_22=*.txt 
39.
 
40.
::----------------------------------- 
41.
 rem Logfile 
42.
 
43.
set "Logfile=G:\98 Sonstiges\Marc\LOGs\log-%date:~0,2%-%date:~3,2%-%date:~6,4%.log" 
44.
  
45.
 rem xcopy Parameter 
46.
 
47.
set _para=/B /E /R:5 /W:3 /MT:8 
48.
set _log=/LOG+:"%Logfile%" /TEE /NDL 
49.
 
50.
 
51.
 rem Ende Einstellungen 
52.
::----------------------------------- 
53.
::----------------------------------- 
54.
 
55.
 rem Beginn Ablauf 
56.
if not exist "%logfile%\.." md "%logfile%\.." 
57.
echo Beginn Datensicherung der GLT Server >>"%logfile%" 
58.
for /f "tokens=2,* delims=_=" %%i in ('set Quelle_ 2^>nul') do if defined Ziel_%%i call robocopy "%%j" "%%Ziel_%%i%%" %%Datei_%%i%% %_para% %_log% 
59.
echo Ende Datensicherung der GLT Server >>"%logfile%" 
60.
 rem Ende Ablauf
Bitte codetags benutzen

Gruß Phil
Bitte warten ..
Mitglied: Galipoli
29.01.2015 um 23:18 Uhr
Hi Phil,

danke aber ich bin leider an Robocopy gebunden...

Grüße
Bitte warten ..
Mitglied: pieh-ejdsch
LÖSUNG 30.01.2015, aktualisiert 31.01.2015
moin Galipoli,

Es wird doch Robocopy verwendet.
Ist nur ein Verschreiber in Zeile 45 für die Optionen.
In Zeile 58 siehst Du das RC verwendet wird.

Gruß Phil
Bitte warten ..
Mitglied: Galipoli
31.01.2015 um 09:48 Uhr
Hi Phil,

danke dir das ist echt Wahnsinn

Rettet mir das Wochenende!

Viele Grüße
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Server
gelöst Robocopy RECYCLE.BIN (21)

Frage von swissbull zum Thema Server ...

Windows Tools
Robocopy . Datei im Zielverzeichnis nur überschreiben, wenn neuer (7)

Frage von gnrmarcel zum Thema Windows Tools ...

Batch & Shell
gelöst Move mit Robocopy (2)

Frage von 0xC0FFE zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...