Я хочу автоматизировать отправку файла через FTP с помощью командной строки (в Linux). Под этим я подразумеваю, что хочу отправить файл прямо из командной строки, без какого-либо интерактивного режима. Я хочу передать все параметры из командной строки (она находится в локальной сети для личных целей, поэтому пароль в командной строке мне подходит). Я знаю, какой файл я хочу отправить и где я хочу его сохранить. Мой google-fu меня пока подводит, потому что все руководства, касающиеся "командной строки ftp", фактически вводят интерактивный текстовый интерфейс, а я не хочу этого.
Итак, как мне отправить файл через FTP, если я не хочу входить в интерактивный режим и хочу передать все параметры в командной строке?
Если возможно, установите ncftp
и использовать ncftpput
и ncftpget
команды для написания скриптов загрузки и скачивания файлов.
lftp
также -c
(читает команды FTP из параметров командной строки) и -f
(читает команды FTP из текстового файла) параметры, которые могут помочь вам автоматизировать сеансы FTP.
Если вам действительно нужно использовать архаичный ftp
команда, вы можете использовать expect
(или, autoexpect
).
Установить ncftp
и использовать утилиты ncftpput
и ncftpget
.
lftp?
$ yum info lftp
Loaded plugins: priorities, ps
Available Packages
Name : lftp
Arch : i686
Version : 4.0.9
Release : 1.el6
Size : 735 k
Repo : base
Summary : A sophisticated file transfer program
URL : http://lftp.yar.ru/
License : GPLv3+
Description : LFTP is a sophisticated ftp/http file transfer program. Like bash, it has job
: control and uses the readline library for input. It has bookmarks, built-in
: mirroring, and can transfer several files in parallel. It is designed with
: reliability in mind.
Страница руководства находится здесь: http://lftp.yar.ru/lftp-man.html