Muszę przesłać pojedynczy plik na serwer FTP z Ubuntu. Operację tę należy wykonać w skrypcie (w trybie nieinteraktywnym). Jaka jest właściwa składnia ftp
?
Próbuję tego, ale bezskutecznie:
$ ftp -u ftp://user:[email protected] my-local-file.txt
ftp: Invalid URL `ftp://'
ftp
narzędziu w Ubuntu, ale wygląda na to, że dusi sięftp://
. może spróbować to wyjąć?man ftp
w wierszu poleceńOdpowiedzi:
Oto jedno podejście:
Alternatywnie, utwórz (lub edytuj) plik ~ / .netrc w katalogu głównym użytkownika, który uruchomi polecenie ftp, nadaj mu odpowiednią perms (
chmod 0600 ~/.netrc
) i dodaj:Następnie pomiń dane logowania, jak w:
Oto, jak możesz zrobić to samo za pomocą curl:
źródło
curl
obsługiwane ftp! To bardzo przydatne.curl
rozwiązanie. Po co w ogóle zawracać sobie głowę drugim?curl
rozwiązanie jest najlepszy i najłatwiejszyMogę polecić
ftp-upload
. To fajne małe narzędzie, które można zainstalować pod Ubuntusudo apt-get install ftp-upload
.Przykład użycia:
źródło
man ftp-upload
. Mam nadzieję, że to pomaga.Musisz naprawić adres URL podany w wyciągu. Wystąpił błąd, ponieważ adres URL był niekompletny - brakowało nazwy przesyłanego obiektu. Po dodaniu nazwy pliku po „example.com”, jak to zrobiłem poniżej, zobaczysz, że pojedyncze polecenie rzeczywiście działa tak, jak zamierzałeś.
Spróbuj tego:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt
źródło
Zainstaluj ncftp i skorzystaj z dołączonego do niego narzędzia ncftpput , podobnie jak ta składnia:
Możesz nawet sprawdzić, czy status przesyłania jest dobry czy zły. Zwykły klient ftp może być również używany wraz z funkcją expect.
źródło
Możesz także spróbować
lftp
.Oto przykład:
Patrz tutaj dla więcej szczegółów
.
źródło
Prześlij plik do zdalnej lokalizacji za pomocą wiersza polecenia
źródło
Korzystam z BusyBox,
ftpput
aby to zrobić:Uwaga:
busybox ftpget
działa również dobrze.źródło
Możesz także użyć polecenia sftp lub ftp
sftp {user}@{IP}
Password:
put {path To File On Local Computer}
źródło
poprawiłem odpowiedź Marty'ego jak poniżej (w tym binarną):
[ftp_example_1.sh]
$ ftp_example_sh.sh plik zrzutu
[ftp_example_2.sh]
$ ftp_example_2.sh 192.168.0.10 plik zrzutu
źródło
źródło