Мне нужно загрузить один файл на FTP-сервер из Ubuntu. Эта операция должна быть выполнена в сценарии (в неинтерактивном режиме). Для чего нужен правильный синтаксис ftp
?
Я пытаюсь это безрезультатно:
$ ftp -u ftp://user:secret@ftp.example.com my-local-file.txt
ftp: Invalid URL `ftp://'
ftp
инструменте в Ubuntu, но похоже, что он задыхаетсяftp://
. попробуйте вытащить это возможно?man ftp
в командной строкеОтветы:
Вот один из подходов:
В качестве альтернативы, создайте (или отредактируйте) файл ~ / .netrc в домашнем каталоге пользователя, который запустит команду ftp, присвойте ему соответствующий perms (
chmod 0600 ~/.netrc
) и добавьте следующее:Затем опустите регистрационную информацию, как в:
Кроме того, вот как вы можете сделать то же самое, используя curl:
источник
curl
поддерживает ли ftp! Это супер удобно.curl
решение. Зачем вообще возиться с другим?curl
решение является лучшим и самым легкимЯ могу рекомендовать
ftp-upload
. Это аккуратный маленький инструмент, который вы можете установить через Ubuntusudo apt-get install ftp-upload
.Пример использования:
источник
man ftp-upload
. Надеюсь, это поможет.Вам необходимо исправить URL, указанный в вашем заявлении. Вы получили сообщение об ошибке, поскольку URL-адрес был неполным - в нем отсутствовало имя загружаемого объекта. Когда вы добавите имя файла после «example.com», как я это сделал ниже, вы увидите, что одна команда действительно работает так, как вы и планировали.
Попробуй это:
ftp -u ftp://user:secret@ftp.example.com/my-local-file.txt my-local-file.txt
источник
Установите ncftp и используйте инструмент ncftpput , который поставляется вместе с ним, примерно такой синтаксис:
Вы даже можете проверить, является ли статус загрузки хорошим или плохим. Нормальный клиент ftp также может использоваться вместе с ожидаемым.
источник
Вы также можете попробовать
lftp
.Вот пример:
Обратитесь сюда для более подробной информации
,
источник
Загрузить файл в удаленное место через командную строку
источник
Я использую BusyBox
ftpput
для этого:Примечание:
busybox ftpget
работать тоже хорошо.источник
Вы также можете использовать команду sftp или ftp
sftp {user}@{IP}
Password:
put {path To File On Local Computer}
источник
я улучшил ответ Марти, как показано ниже (включая бинарный файл):
[Ftp_example_1.sh]
$ ftp_example_sh.sh dump_file
[Ftp_example_2.sh]
$ ftp_example_2.sh 192.168.0.10 dump_file
источник
источник