Das Problem: Ich versuche, einen lokalen Spiegel einer öffentlichen FTP-Site zu erstellen. Wenn ich lftp
verwende, um den Job zu machen, erstellt es einen Spiegel ohne ein Problem, aber wenn ich versuche, den Spiegel ein paar Tage später zu aktualisieren, wird es sehr langsam, weil ich auf mehreren Dateien feststecke.Force Lftp binäre Verbindungen zu öffnen?
Lauf lftp -d
kann ich sehen, dass lftp
mehrere Anfragen an RETR
die Datei macht, aber diese Anforderungen führen in mehreren **** Timeout - reconnecting
Meldungen und nach ca. 2-3 Minuten, die ich sehen
< --- 150 Opening BINARY-Modus Datenverbindung für {filename removed} .`
Nach diesem letzten Befehl wird die Datei erfolgreich heruntergeladen und lftp läuft weiter.
Aus dem Handbuch verstehe ich, dass BINARY der Standardmodus für lftp
ist, aber irgendwie scheint es nicht für die frühen Anfragen zu arbeiten. Kann jemand vorschlagen, wie ich LFTP zwingen kann, BINARY Modusdatenverbindung immer zu öffnen, um alle Akten herunterzuladen?
Hier ist ein MWE:
``lftp -d -u anonymous,anonymous -c "open {url}; get {file}"``
Und Antwort von lftp -d
:
---- Connecting to {url} ({IP}) port 21
<--- 220 (vsFTPd 3.0.3)
---> FEAT
<--- 211-Features:
<--- EPRT
<--- EPSV
<--- MDTM
<--- PASV
<--- REST STREAM
<--- SIZE
<--- TVFS
<--- 211 End
---> USER anonymous
<--- 331 Please specify the password.
---> PASS anonymous
<--- 230 Login successful.
---> TYPE I
<--- 200 Switching to Binary mode.
---> SIZE {file}
<--- 213 3321
---> MDTM {file}
--- 213 20160318190446
---> PASV
<--- 227 Entering Passive Mode ({IP}).
---- Connecting data socket to ({IP}) port 55380
---- Data connection established
---> RETR {file}
**** Timeout - reconnecting
---- Closing data socket
---- Closing control socket
Ich habe die Einstellung, die Sie vorgeschlagen haben, nicht versucht, weil die Verwendung von '--ignore-time' mein Problem gelöst hat. Ich habe Ihre Antwort akzeptiert, da Sie klargestellt haben, dass der binäre Modus immer verwendet wird. – econ