bnfk859-forum
Goto Top

Script SFTP Dateien kopieren

Hallo zusammen, ich hoffe ich drücke mich klar und verständlich aus und bekomme hier Hilfe bei meinem Problem:

Ich soll von Fremd SFTP Server jeden Morgen eine Datei abholen und auf unseren SFTP kopieren. Dann soll die Datei von der gleichen Quelle aus einmal als Backup auf einen Fileserver kopiert werden
und wenn dies erfolgreich war gelöscht werden.
Ich habe WINSCP und IPSwitch als Client zur Verfügung stehen. Über Ipswitch hatte ich das Ganze bereits über Tasks eingestellt aber diese laufen nur dann auf dem Windows Server wenn der User angemeldet ist das diese über die GUI und nicht über Script ausgeführt werden. Ich habe leider keinerlei Erfahrung mit Scirpten und SFPT befehlen bzw. FTP und hoffe daher hier Hilfe zu erhalten. Eine Anpassung oder Veränderung vorzunehmen sehe ich mich im Stande aber mir fehlt halte der Grundstein.

Die Login Daten können ruhig im Script stehen da der Server nur in meinem Zugriff ist auf dem das Script ausgeführt werden soll.

Ich hoffe auf Hilfe

Content-ID: 306334

Url: https://administrator.de/forum/script-sftp-dateien-kopieren-306334.html

Ausgedruckt am: 21.04.2025 um 23:04 Uhr

Kraemer
Kraemer 06.06.2016 um 08:08:03 Uhr
Goto Top
Moin,

dann nutzte doch einfach WinSCP. Das erste Beispiel hier macht fast exakt das, was du erreichen willst.

Gruß Krämer
bnfk859-forum
bnfk859-forum 06.06.2016 um 08:21:12 Uhr
Goto Top
Hallo Kraemer,

leider kann ich das script nicht selber bauen und so wie ich das verstehe ist im Martin@example nur das laden der Files gezeigt aber nicht das kopieren aufs Ziel und dann nach erfolgreicher Prüfung des Vorgangs die Löschung an der Quelle.
Kraemer
Kraemer 06.06.2016 aktualisiert um 08:38:21 Uhr
Goto Top
In the example below, WinSCP connects to example.com server with account user, downloads file and closes the session. Then it connects to the same server with the account user2 and uploads the file back.
Lädt herunter - speichert also lokal (es spricht nichts dagegen, diese Datei direkt auf einem Fileserver abzulegen) - und lädt wieder hoch

Eine Anpassung oder Veränderung vorzunehmen sehe ich mich im Stande aber mir fehlt halte der Grundstein.
Wenn das stimmen würde, hättest du jetzt schon 1/3 deiner Problemstellung.. Fehlt noch das löschen der Datei - steht auf der selben Seite, die ich gelinkt habe - also 2/3 fertig. Fehlt jetzt noch das prüfen auf erfolg. Das müsste man sich dann noch ansehen, wenn der Rest funktioniert.

Gruß

PS: Wenn du den die Anpassung nicht hinbekommst und hier nicht einmal im Ansatz zeigst, das du das selber machen willst, dann wende dich doch bitten an @colinardo - der macht sowas gerne als Auftragsarbeit
129413
129413 06.06.2016 aktualisiert um 09:28:49 Uhr
Goto Top
bnfk859-forum
bnfk859-forum 07.06.2016 um 14:09:48 Uhr
Goto Top
Hi, habe das soweit am laufen aber nun kommt hinzu, das die Datei die zuvor lokal gespeichert wird und dann auch auf einen anderen SFTP hochgeladen wird läuft. Die Datei muss aber von lokal nicht nur auf dem einen Server in ein Verzeichnis kopiert werden sondern in zwei unterschiedliche habe das mal so versucht:

  1. Upload the file to current working directory
put c:\XML\*.* /TM/TM_1/
put c:\XML\*.* /TM/TM_2/
  1. Disconnect
close
  1. Exit WinSCP
exit

Dann kommt das File in TM_1 an aber in TM_2 wird es nicht kopiert, vielleicht kann mir hier jemand einen Ansatz liefern wie ich es hin bekommen im Zeilsystem in zwei verschiedenen Verzeichnissen die gleich Datei abzulegen?
129413
129413 07.06.2016 aktualisiert um 14:21:46 Uhr
Goto Top
  • Keine Berechtigungen ?
  • Fehlermeldungen ?
Lesen: http://winscp.net/eng/docs/scriptcommand_put
bnfk859-forum
bnfk859-forum 07.06.2016 um 14:38:37 Uhr
Goto Top
Hi wenn ich nur das TM_2 nehmen funktioniert es
129413
Lösung 129413 07.06.2016, aktualisiert am 08.06.2016 um 10:20:24 Uhr
Goto Top
Dann hast du einen Fehler in deinem Skript, poste bitte dein Komplettes Skript inkl. Befehlszeile und Parameter, aber bitte in Code-Tags

Die Kommentare hast du aber nicht wirklich so ins Skript geschrieben ??

"Funktioniert nicht" ist keine Fehlermeldung !

Das hier geht z.B. einwandfrei:
winscp.com /command "open sftp://username:password@ftp.domain.de" "option batch on" "put C:\test\* /remotedir/" "put C:\test\* /remotedir2/" "close" "exit"  
bnfk859-forum
bnfk859-forum 08.06.2016 um 08:44:58 Uhr
Goto Top
Hallo Skybird,

habe es jetzt mal wie Du beschrieben hast gemacht nicht mit winscp.com /script sondern direkt mit dem winscp.com /command damit ich halt im cmd auch die Meldungen sehe.

"open sftp://abcd" "option batch on" "put c:\XML\*.* /TM/TM_DIR1/" "put c:\XML\*.* /TM/TM_DIR2" "close" "exit"

läuft nun auch im Script, vielen Dank !!!!!!!!!!!!!!

Den copy von lokal zum Netzwerk von c:\xml lasse ich jetzt via robocopy laufen mit automatischen delete nach der Sicherung im Netz face-smile
129413
129413 08.06.2016 aktualisiert um 10:22:11 Uhr
Goto Top
Zitat von @bnfk859-forum:
habe es jetzt mal wie Du beschrieben hast gemacht nicht mit winscp.com /script sondern direkt mit dem winscp.com /command damit ich halt im cmd auch die Meldungen sehe.
Naja, hättest du in der Batch eine Pause gesetzt hättest du auch die Fehler deines WINSCP-Skripts gesehen X). Typischer Anfängerfehler halt ...
läuft nun auch im Script, vielen Dank !!!!!!!!!!!!!!
Wie zu erwarten war. Keine Ursache.

Gruß skybird