Backup mit WinSCP
Hallo,
ich möchte per WinSCP Daten von einem FTP Server Daten kopieren. Das per Skript und automatisiert.
Das Skript sieht wie folgt aus:
Was grundsätzlich funktioniert.
Aber ich möchte :passwort nicht verwenden eine Auth per SSH key ist bei beiden Geräten eingerichtet und funktioniert auch.
Aber das Skript verwendet diesen nicht.
Außerdem werden die Daten im FTP Verzeichnis nach dem kopieren nicht gelöscht.
Hat hier jemand damit vielleicht Erfahrung?
Danke im Voraus!
ich möchte per WinSCP Daten von einem FTP Server Daten kopieren. Das per Skript und automatisiert.
Das Skript sieht wie folgt aus:
option batch abort
option confirm off
open sftp://User:passwort@Hostname
synchronize local D:\backup /home/autobackup
exit
Was grundsätzlich funktioniert.
Aber ich möchte :passwort nicht verwenden eine Auth per SSH key ist bei beiden Geräten eingerichtet und funktioniert auch.
Aber das Skript verwendet diesen nicht.
Außerdem werden die Daten im FTP Verzeichnis nach dem kopieren nicht gelöscht.
Hat hier jemand damit vielleicht Erfahrung?
Danke im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1130492440
Url: https://administrator.de/contentid/1130492440
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Aber das Skript verwendet diesen nicht.
Du gibst ihn ja auch nicht mit an wieso sollte er das dann von selbst tun 😁?Du musst schon die richtigen Parameter dem open Befehl mitgeben
https://winscp.net/eng/docs/scriptcommand_open
Als da wären
-privatekey=mykey.ppk
-hostkey="<fingerprint>"
...
open sftp://user@Hostname -privatekey=mykey.ppk -hostkey=acceptnew
...
Außerdem werden die Daten im FTP Verzeichnis nach dem kopieren nicht gelöscht.
Das sagst du deinem Skript ja ebenfalls nicht, wieso sollte er also anschließend löschen wenn du es ihm nicht sagst ...Statt synchronize ein get -delete verwenden
https://winscp.net/eng/docs/scriptcommand_get
Gruß h.
Wenn du deine WinSCP-Skripte anpassen möchtest, um SSH-Schlüssel zu nutzen und gleichzeitig die Dateien nach dem Kopieren zu löschen, kannst du folgendes machen:
Stell sicher, dass dein privater Schlüssel auf dem Client-Computer richtig gespeichert ist und von WinSCP gefunden wird. Du kannst im Skript direkt den Pfad zum Schlüssel angeben. Das sieht dann so aus:
Der Pfad zum Schlüssel muss stimmen, und der Schlüssel sollte im PPK-Format sein. Falls dein Schlüssel das nicht ist, kannst du das WinSCP-Tool "PuTTYgen" nutzen, um ihn zu konvertieren.
Anstatt synchronize zu verwenden, nutze get mit der Option -delete. Das sorgt dafür, dass die Dateien nach dem erfolgreichen Download gelöscht werden. Hier ist das angepasste Skript:
Mit diesem Setup wird dein Skript die SSH-Schlüsselauthentifizierung nutzen und die Dateien im FTP-Verzeichnis löschen, nachdem sie kopiert wurden. Test das erstmal in einer sicheren Umgebung, bevor du es richtig einsetzt. Viel Erfolg dabei!
Stell sicher, dass dein privater Schlüssel auf dem Client-Computer richtig gespeichert ist und von WinSCP gefunden wird. Du kannst im Skript direkt den Pfad zum Schlüssel angeben. Das sieht dann so aus:
open sftp://User@Hostname -privatekey="Pfad/zum/private/key"
Der Pfad zum Schlüssel muss stimmen, und der Schlüssel sollte im PPK-Format sein. Falls dein Schlüssel das nicht ist, kannst du das WinSCP-Tool "PuTTYgen" nutzen, um ihn zu konvertieren.
Anstatt synchronize zu verwenden, nutze get mit der Option -delete. Das sorgt dafür, dass die Dateien nach dem erfolgreichen Download gelöscht werden. Hier ist das angepasste Skript:
option batch abort
option confirm off
open sftp://User@Hostname -privatekey="Pfad/zum/private/key"
get -delete /home/autobackup/* D:\backup\
exit
Mit diesem Setup wird dein Skript die SSH-Schlüsselauthentifizierung nutzen und die Dateien im FTP-Verzeichnis löschen, nachdem sie kopiert wurden. Test das erstmal in einer sicheren Umgebung, bevor du es richtig einsetzt. Viel Erfolg dabei!