Erzwinge, dass eine leere Datei heruntergeladen wird

2717
romaintaz

In einem Bash-Skript verwende ich den curlBefehl unter Linux, um Dateien von einem FTP-Server herunterzuladen.

Der Befehl, den ich verwende, ist folgender (die Informationen über die FTP-Server-Verbindung werden in einer .netrcDatei gespeichert ):

curl -v -netrc "ftp://my.ftp.server/foo/bar.txt" -o bar.txt 

Das funktioniert ziemlich gut, außer wenn das bar.txtleer ist (size file = 0).

Wie zwinge ich curldas Herunterladen der Datei, dh das Erhalten einer bar.txtleeren Datei ?

3
Wenn Sie die Option '-o' weglassen, wird die Datei in stdout angezeigt? Enthält die Datei auf dem FTP-Server tatsächlich etwas? Welche Fehlerbehebung haben Sie gemacht? EmmEff vor 15 Jahren 0
FWIW: Wenn Sie netrc verwenden, müssen Sie zwei Bindestriche verwenden: --netrc. Ich würde versuchen, curl --trace-ascii - --netrc "ftp: //my.ftp.server/foo/bar.txt" zu verwenden und die Ausgabe zu überprüfen. Wolf vor 14 Jahren 0

1 Antwort auf die Frage

1
Adi Roiban

Sieht so aus, als wäre dies ein Fehler von geringer Bedeutung, wie hier http://sourceforge.net/tracker/?func=detail&aid=3438362&group_id=976&atid=100976 angegeben

In einem Skript können Sie überprüfen, ob der Exit-Code für eine FTP- / FTPS-Übertragung 0 ist, die Datei jedoch nicht vorhanden ist. Wahrscheinlich ist die Datei vom Remote-Server leer.