
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 wget
kö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 "mirror
wird verwendet, um eine Spiegel- oder Remote-Site zu erstellen.
--Remove-source
Entfernen Sie die Quelldateien nach dem Download. Seien Sie mit diesem Befehl sehr vorsichtig