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

(Robocopy)batch mit mehreren quellen und zielen möglich?

Frage Sicherheit Backup

Mitglied: fluegelv

fluegelv (Level 1) - Jetzt verbinden

08.08.2006, aktualisiert 12.10.2006, 16930 Aufrufe, 7 Kommentare

robocopy batch mit mehreren quellen und zielen

hallo,
ich post hier erstmal mein script wie es momentan ausschaut:

robocopy.exe "i:\" "F:\Voll" /E /ZB /COPY:DATSOU /SEC /PURGE /IA:RASHNTCEO /FP /R:0 /W:0 /LOG+:"d:\robotcopyloggs\backup%date%.log" /TEE /NP

was ich jetzt gerne hätte sind mehrere quellen und ziele in dieser einen batchdatei.

also z.b. dass von i: und j: jeweils auf f:\voll\ gesichert wird und zudem auch noch von k:\a\1 ,
k:\a\3 und k:\a\4 auf f:\voll\a

ist sowas irgendwie möglich mit variablen oder so? oder benötig ich hierfür meherer dateien?

danke schonmal
Mitglied: Biber
08.08.2006 um 18:02 Uhr
Moin fluegelv,

willkommen im Forum.

Wenn es denn als Batch halbwegs lesbar und wartbar bleiben soll, würde ich es ungefähr so machen:

01.
::---snipp doMyRobocopy.bat 
02.
@echo off & setlocal 
03.
Set "RoboParms=/E /ZB /COPY:DATSOU /SEC /PURGE /IA:RASHNTCEO /FP /R:0 /W:0" 
04.
Set "RoboParms=%Roboparms% " /LOG+:"d:\robotcopyloggs\backup%date%.log" /TEE /NP" 
05.
FOR %%i IN ( i:\ j:\)            DO Robocopy.exe %%i "F:\Voll"   %RoboParms% 
06.
FOR %%i IN ( k:\a\1, k:\a\3, k:\a\4)  DO Robocopy.exe %%i "F:\Voll\a" %RoboParms%
So lässt es sich dann halbwegs lesen....

Gruß
Biber
Bitte warten ..
Mitglied: fluegelv
08.08.2006 um 18:24 Uhr
ok danke sieht echt viel besser aus .. ich muss sagen ich hatts noch nie mit logik
aber wenn mans denn sieht schauts doch logisch aus.
weil ichs seh des FOR %%i IN... und danach nochmal: wird des 2te FOR %%i IN .. danach abgearbeitet oder kommt der da durcheinander?

Da die daten mit k:\ von nem anderen server kommen kann man des auch so einrichten dass beide server gleichzeitig daten schicken?
also dass die jobs gleichzeitig laufen? bandbreite wär genug vorhanden...
Bitte warten ..
Mitglied: Biber
08.08.2006 um 19:40 Uhr
Also, fluegelv,

weil ichs seh des FOR %%i IN... und danach nochmal:
wird des 2te FOR %%i IN .. danach abgearbeitet oder kommt der da durcheinander?

Es wird nacheinander abgearbeitet. Batch bzw. CMD.exe ist da ganz pflegeleicht - erst wenn eine Zeile/eine Anweisung interpretiert und abgearbeitet ist, dann erst passiert irgendetwas mit der nächsten Zeile.
In beiden Zeilen ist die Laufvariable %%i absolut jungfräulich - der CMD-Interpreter kann sich definitiv nicht daran erinnern, die schon mal irgendwo gesehen zu haben.

Aber wenn es für Dich "eindeutiger" oder weniger missverständlich aussieht, dann nimm statt zweimal derselben Laufzeitvariablen zwei "optisch verschiedene". Verschieden sind sie aber ohnehin.
01.
FOR %%x IN ( i:\ j:\)            DO Robocopy.exe %%x "F:\Voll"   %RoboParms% 
02.
FOR %%u IN ( k:\a\1, k:\a\3, k:\a\4)  DO Robocopy.exe %%u "F:\Voll\a" %RoboParms%
Jeweils in einer Anweisung müssen die Variablen aber gleich (incl. Beachtung von Gross/Kleinschreibung) benannt sein.
Gültig bzw. dokumentiert sind lt. M$ auch nur %%a...%%z, %%A...%%Z.
Da die daten mit k:\ von nem anderen server kommen
kann man des auch so einrichten dass beide server gleichzeitig daten schicken?
also dass die jobs gleichzeitig laufen? bandbreite wär genug vorhanden...

Hm...ja... Obwohl es dann nur folgerichtig wäre, wenn diese beiden parallelisierbaren Jobs jeweils in eine eigene Log-Datei schreiben.
Denn
1) müssen sie ja voneinander unabhängig sein und sollten dann auch keine gemeinsame Ressource nutzen und
2) würde in der Logdatei Kraut und Rüben stehen, wenn abwechselnd die Protokollmeldungen von JobA und JobB eintrudeln.

Du kannst Dir als für diesen Fall überlegen,
- ob Du zwei Batchdateien startest (oder als Dienst starten lässt) oder..
- in der einen Batchdatei beide als Windows-Anwendung/als "neues Fenster" aufrufst.

Fall 2 wäre dann mit der "START"-Anweisung. Siehe die Hilfe dazu "Start /?"
Ich würde Dir aber eher zwei parallel gestartete Batchdateien empfehlen - das kann sonst keine/r lesen.

Trotzdem ein ungetestete Skizze zu Fall2.
01.
::---snipp doMyParallelRobocopy.bat 
02.
@echo off & setlocal 
03.
IF [%1]==[] ( 
04.
   Start /Min "Mit freundlichen Grüßen Biber" "%0" 1 
05.
   Start /Min "Mit freundlichen Grüßen Biber" "%0" 2 
06.
) ELSE ( 
07.
  IF [%1] NEQ [1] IF [%1] NEQ [2] goto :eof 
08.
  Set "RoboParms=/E /ZB /COPY:DATSOU /SEC /PURGE /IA:RASHNTCEO /FP /R:0 /W:0" 
09.
  Set "RoboParms=%Roboparms% " /LOG+:"d:\robotcopyloggs\backup%1_%date%.log" /TEE /NP" 
10.
  goto Job%1 
11.
12.
Goto :eof 
13.
 
14.
:Job1 
15.
FOR %%i IN ( i:\ j:\)            DO Robocopy.exe %%i "F:\Voll"   %RoboParms% 
16.
eXit 
17.
 
18.
:Job2 
19.
FOR %%i IN ( k:\a\1, k:\a\3, k:\a\4)  DO Robocopy.exe %%i "F:\Voll\a" %RoboParms% 
20.
eXit
Wenn du diesen Batchschnipsel aufrufst, dann ruft der wiederum sich selbst 2x parallel auf und startet Job1 und Job2.
Und damit zwei Sicherungen parallel in zwei verschiedene Logdateien.

Hope That Helps

Biber
Bitte warten ..
Mitglied: fluegelv
09.08.2006 um 16:35 Uhr
ich hätt da jetzt noch nen problem mit den variablen
und zwar übernimmt der mir die irgendwie ned

hier nur der teil:

set opt = /E /ZB /COPY:DATSOU / und ncoh mehr

robocopy.exe k:\ f:\ %opt%

aber der ruft mir die variablen ned ab wiso?
ich habs auch schon mit anführungszeichen und klammern versucht aber nix. normal müsste der mir doch durch die "" die variable als text nehmen und später so ausgeben oder?
Bitte warten ..
Mitglied: Biber
09.08.2006 um 17:08 Uhr
Sorry, mein Fehler..
01.
::---snipp doMyParallelRobocopy.bat 
02.
@echo off & setlocal 
03.
IF [%1]==[] ( 
04.
   Start /Min "Mit freundlichen Grüßen Biber" "%0" 1 
05.
   Start /Min "Mit freundlichen Grüßen Biber" "%0" 2 
06.
) ELSE ( 
07.
  IF [%1] NEQ [1] IF [%1] NEQ [2] goto :eof 
08.
  Set "RoboParms=/E /ZB /COPY:DATSOU /SEC /PURGE /IA:RASHNTCEO /FP /R:0 /W:0" 
09.
  goto Job%1 
10.
11.
Goto :eof 
12.
 
13.
:Job1 
14.
Set "RoboParms=%Roboparms%  /LOG+:"d:\robotcopyloggs\backup%1_%date%.log" /TEE /NP" 
15.
FOR %%i IN ( i:\ j:\)            DO Robocopy.exe %%i "F:\Voll"   %RoboParms% 
16.
eXit 
17.
 
18.
:Job2 
19.
Set "RoboParms=%Roboparms%  /LOG+:"d:\robotcopyloggs\backup%1_%date%.log" /TEE /NP" 
20.
FOR %%i IN ( k:\a\1, k:\a\3, k:\a\4)  DO Robocopy.exe %%i "F:\Voll\a" %RoboParms% 
21.
eXit
Gruß
Biber
Bitte warten ..
Mitglied: fluegelv
10.08.2006 um 14:56 Uhr
also meine batch sieht jetzt momentan volgendermaßen aus und funktioniert auch.

@ECHO OFF & SETLOCAL

SET "par=/E /ZB /COPY:DATSOU /XA:T /R:0 /W:0 /LOG:d:\log\datei-%date%.log /TEE /NP /NDL /NFL"
SET "quell=k:\a\xy
SET "ziel=f:\voll\a\xy"

robocopy.exe %quell% %ziel% %par%

fertig
PAUSE


wie schaff ich es, dass er mir von k:\a\xy und k:\a\zz auf f:\voll\ sichert und dabei die ordner xy und zz mitnimmt?
Bitte warten ..
Mitglied: joec
12.10.2006 um 10:07 Uhr
Hallo,

wie schaff ich es, dass er mir von k:\a\xy
und k:\a\zz auf f:\voll\ sichert und dabei
die ordner xy und zz mitnimmt?


ich verstehe nicht ganz dein Problem. Solange du sowohl bei der Quelle und beim Ziel den kompletten Pfad (.\a\xy) angibts, kopiert es doch die Ordner mit. (und nicht nur den Inhalt des Ordners.

Mit freundlichen Grüßen joec
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...