Herunterladen von Bildern von einer FTP-Site mit wget

1

Ich versuche, ein Skript einzurichten, das alle Bilder in einem Remote-FTP-Verzeichnis mit einem lokalen Verzeichnis synchronisiert, das ich regelmäßig ausführen kann, um sicherzustellen, dass alle neuen Bilder zum Remote-Verzeichnis hinzugefügt wurden. Ich habe versucht, eine Lösung mit wget zu finden, aber die Syntax scheint einfach nicht zu stimmen. Folgendes habe ich:

wget -r -N --no-remove-listing -nd ftp://user:[email protected]/images/

Alles, was dies zu tun scheint, ist, eine lokale index.html-Datei mit einer Liste von Links zu entfernten Dateien zu erstellen (was ich nicht möchte). Wie ändere ich diesen Befehl, damit alle Bilder im Remote-Verzeichnis heruntergeladen werden? Gibt es alternativ einen anderen Unix-Befehl, mit dem ich versuchen kann, Bilder von einer entfernten FTP-Site zu synchronisieren?

Stephen
quelle

Antworten:

1

Jemand schlug mir vor, den Befehl lftp ( http://lftp.yar.ru/lftp-man.html ) wie folgt zu verwenden :

lftp -c 'open ftp.server.com; user username password; mirror -e --only-missing images .; quit'

Scheint gut zu funktionieren und ist in die meisten Unix-Varianten integriert.

Stephen
quelle
Wenn dies bei Ihnen funktioniert hat, klicken Sie auf das grüne Häkchen, um es als akzeptierte Antwort zu markieren.
Wuffers
0

Sie können auch ncftpget aus dem ncftp-Paket ausprobieren. Siehe http://www.ncftp.com/, aber versuchen Sie, ein ncftp-Paket für Ihre Distribution zu installieren.

Aus "man ncftpget"

-R      Recursive mode; copy whole directory trees.

You  can retrieve an entire directory tree of files by using the -R flag.  However, this will work only if the remote FTP server is a UNIX server, or emulates UNIX's list output.
   Example:

       $ ncftpget -R ftp.ncftp.com /tmp /pub/ncftp
rems
quelle
Ich habe diesen Befehl zuvor noch nicht verwendet. Wenn Sie ihn erneut ausführen, werden dann alle Dateien auf dem entfernten FTP-Server ignoriert, die bereits im lokalen Dateisystem vorhanden sind.
Stephen
Tut mir leid, ich erinnere mich nicht, probiere es einfach aus.
Rems
0

Wenn Sie verwenden möchten, verwenden Sie WGETden ASchalter, um die akzeptierten Dateierweiterungen anzugeben:

wget -r --accept=jpg,gif,png ftp://user:[email protected]/blah/*
Synetech
quelle