Kopieren über Netz
Hallo zusammen,
ich hatte bislang wenig mit dem Kopieren übers Netz zu tun und kenne mich nicht so damit aus. Folgender Vorgang:
Ich kopiere per WINSCP mit einer Batchdatei mehrer Dateien auf verschiedene Rechner(Windows auf Linux). Folgende Automatik: Rechner per WINSCP angewählt, Dateien kopiert, Schliessen, Neuer Rechner angewählt, Dateien kopiert, usw.
Batch:
open rechner-1
cd /opt/unter/test
bin
lcd G:\test
put datei1.txt
put datei2.txt
put datei3.text
cd ..
close
open rechner-2
usw
Es sind ca. 20 Rechner auf die die Dateien kopiert werden. Nun würde ich gerne hinterher wissen, ob das kopieren auch überall geklappt hat, bzw. wenn es abbricht, wie kann ich direkt dort wieder aufsetzten also bisher fängt er wieder von vorne an. Leider kann ich außer WinSCP oder Putty (davon nicht soviel Ahnung) keine anderen Programme einsetzen.
Schon mal danke für die Hilfe.
Gruß
Hugo
ich hatte bislang wenig mit dem Kopieren übers Netz zu tun und kenne mich nicht so damit aus. Folgender Vorgang:
Ich kopiere per WINSCP mit einer Batchdatei mehrer Dateien auf verschiedene Rechner(Windows auf Linux). Folgende Automatik: Rechner per WINSCP angewählt, Dateien kopiert, Schliessen, Neuer Rechner angewählt, Dateien kopiert, usw.
Batch:
open rechner-1
cd /opt/unter/test
bin
lcd G:\test
put datei1.txt
put datei2.txt
put datei3.text
cd ..
close
open rechner-2
usw
Es sind ca. 20 Rechner auf die die Dateien kopiert werden. Nun würde ich gerne hinterher wissen, ob das kopieren auch überall geklappt hat, bzw. wenn es abbricht, wie kann ich direkt dort wieder aufsetzten also bisher fängt er wieder von vorne an. Leider kann ich außer WinSCP oder Putty (davon nicht soviel Ahnung) keine anderen Programme einsetzen.
Schon mal danke für die Hilfe.
Gruß
Hugo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 191520
Url: https://administrator.de/contentid/191520
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
6 Kommentare
Neuester Kommentar
winscp hat eine LOG-Funkion Parameter : "/log <logdatei>" in der es aufzeichnet was schief gelaufen ist.
http://winscp.net/eng/docs/commandline
Teil die Kopieraktionen doch in 20 Skripte auf (für jeden Rechner einen) so fängt er nicht bei den anderen Rechnern wieder von vorne an.
Ich würde für solche Arbeiten das Tool "rsync" benutzen (gibt es auch für Windows) das überträgt nur die Teile einer Datei die sich auch wirklich vom Ziel unterscheiden und eignet sich auch für niedrige Bandbreiten.
http://www.chip.de/downloads/rSync_33633578.html
http://winscp.net/eng/docs/commandline
Teil die Kopieraktionen doch in 20 Skripte auf (für jeden Rechner einen) so fängt er nicht bei den anderen Rechnern wieder von vorne an.
Ich würde für solche Arbeiten das Tool "rsync" benutzen (gibt es auch für Windows) das überträgt nur die Teile einer Datei die sich auch wirklich vom Ziel unterscheiden und eignet sich auch für niedrige Bandbreiten.
http://www.chip.de/downloads/rSync_33633578.html
Folgende Abschnitte die du im Moment in einer Datei stehen hast für jeden Rechner jeweils in eine separate Datei speichern z.B. rechner-1.txt (also vom 'open' Befehl bis zum 'close' Befehl.
Dann kommen in eine Batchdatei(z.B. "copy.cmd") folgende Befehle:
Bitte ließ Dir die Dokumentation zu den Komandozeilenoptionen über winscp im o.g. Link durch.
Grüße Uwe
open rechner-1
cd /opt/unter/test
bin
lcd G:\test
put datei1.txt
put datei2.txt
put datei3.text
cd ..
close
Dann kommen in eine Batchdatei(z.B. "copy.cmd") folgende Befehle:
winscp.exe /console /log mylogfile.log /timeout=30 /script="rechner-1.txt"
winscp.exe /console /log mylogfile.log /timeout=30 /script="rechner-2.txt"
winscp.exe /console /log mylogfile.log /timeout=30 /script="rechner-3.txt"
winscp.exe /console /log mylogfile.log /timeout=30 /script="rechner-4.txt"
.
.
.
usw.
Bitte ließ Dir die Dokumentation zu den Komandozeilenoptionen über winscp im o.g. Link durch.
Grüße Uwe
setz doch einfach vor jeden "winscp"-Befehl eine Sprungmarke:
du kannst den letzten Rechner bei dem es einen Fehler gabe auch in einer Variablen speichern
:STARTPC1
Winscp /console /log mylogfile.log /timeout=30 /script=D:\Version3\winscp\rechner1.txt
if ERRORlevel 1 goto :STARTPC1
:STARTPC2
Winscp /console /log mylogfile.log /timeout=30 /script=D:\Version3\winscp\rechner2.txt
if ERRORlevel 1 goto :STARTPC2
.
.
.
.
du kannst den letzten Rechner bei dem es einen Fehler gabe auch in einer Variablen speichern
if errorlevel 1 (goto ERROR && set LASTERRORPC=STARTPC2)
.
.
goto %LASTERRORPC%