Ich muss eine einzelne Datei von Ubuntu auf den FTP-Server hochladen. Diese Operation sollte in einem Skript ausgeführt werden (im nicht interaktiven Modus). Wofür ist die richtige Syntax ftp
?
Ich versuche das, ohne Erfolg:
$ ftp -u ftp://user:[email protected] my-local-file.txt
ftp: Invalid URL `ftp://'
ftp
Tool in Ubuntu, aber es sieht so aus, als würde es am Computer erstickenftp://
. versuchen Sie das vielleicht herauszunehmen?man ftp
in der BefehlszeileAntworten:
Hier ist ein Ansatz:
Alternativ können Sie die Datei ~ / .netrc im Ausgangsverzeichnis des Benutzers erstellen (oder bearbeiten), der den Befehl ftp ausführt, ihm die entsprechenden Berechtigungen (
chmod 0600 ~/.netrc
) erteilen und Folgendes hinzufügen:Dann lassen Sie die Anmeldeinformationen weg, wie in:
Hier ist auch, wie Sie dasselbe mit Locken machen können:
quelle
curl
dass FTP unterstützt wird! Es ist super praktisch.curl
Lösung. Warum sich überhaupt mit dem anderen beschäftigen?curl
Lösung ist die beste und einfachsteIch kann empfehlen
ftp-upload
. Es ist ein hübsches kleines Tool, das Sie unter Ubuntu durch installieren könnensudo apt-get install ftp-upload
.Anwendungsbeispiel:
quelle
man ftp-upload
. Ich hoffe, das hilft.Sie müssen die in Ihrer Anweisung angegebene URL korrigieren. Sie haben den Fehler erhalten, weil die URL unvollständig war - es fehlte der Name des Objekts, das Sie hochladen. Wenn Sie den Dateinamen nach 'example.com' hinzufügen, wie ich es weiter unten getan habe, wird der einzelne Befehl tatsächlich so funktionieren, wie Sie es beabsichtigt haben.
Versuche dies:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt
quelle
Installieren Sie ncftp und verwenden Sie das mitgelieferte Tool ncftpput, das ungefähr der folgenden Syntax entspricht:
Sie können sogar überprüfen, ob der Upload-Status gut oder schlecht ist. Mit expect kann auch der normale FTP-Client verwendet werden.
quelle
Sie können es auch versuchen
lftp
.Hier ist ein Beispiel:
Weitere Details finden Sie hier
.
quelle
Laden Sie eine Datei über die Befehlszeile an einen Remote-Speicherort hoch
quelle
Ich benutze dazu BusyBox's
ftpput
:Hinweis:
busybox ftpget
funktioniert auch gut.quelle
Sie können auch den Befehl sftp oder ftp verwenden
sftp {user}@{IP}
Password:
put {path To File On Local Computer}
quelle
Ich habe Martys Antwort wie folgt verbessert (einschließlich Binärdatei):
[ftp_example_1.sh]
$ ftp_example_sh.sh dump_file
[ftp_example_2.sh]
$ ftp_example_2.sh 192.168.0.10 dump_file
quelle
quelle