Verschieben Sie Dateien von einem Remote-FTP-Server auf einen lokalen

Verschieben Sie Dateien von einem Remote-FTP-Server auf einen lokalen

Ich muss regelmäßig Dateien von einem FTP-Server abrufen und habe festgestellt, dass ich die Dateien ganz einfach mit wget abrufen kann.

wget -m --user=yyy --password=xxxx ftps://host.com.au

und das funktioniert wirklich gut. Das Problem ist, dass die Dateien offensichtlich auf dem Remote-Server zurückbleiben und beim nächsten Ausführen des Skripts werden sie alle wieder abgerufen.

Ich habe gesehen, dass wget ein Flag --delete-after hat, was auf den ersten Blick ideal erscheint, aber wie die Manpage sagt, löscht es nur lokale Dateien, keine Remote-Dateien.

Gibt es eine Möglichkeit, dies zu erreichen? Leider muss es über FTP gehen, da ich keinen Shell- oder Rsync-Zugriff auf den Remote-Server habe. Sollte ich mir etwas anderes als wget ansehen?

Antwort1

Stattdessen wgetkönnen Sie einen Befehl wie den folgenden versuchen lftp:

 lftp site.com --user <username> --password <password> -e "mirror --Remove-source-files -v

Dieser Befehl -e "mirrorwird verwendet, um eine Spiegel- oder Remote-Site zu erstellen.

--Remove-sourceEntfernen Sie die Quelldateien nach dem Download. Seien Sie mit diesem Befehl sehr vorsichtig

verwandte Informationen