Я пишу сценарий оболочки Linux, чтобы скопировать локальный каталог на удаленный сервер (удалив все существующие файлы).
Локальный сервер: ftp
и lftp
команды доступны, нет ncftp
или какие-либо графические инструменты.
Удаленный сервер: доступен только через FTP. Ни Rsync, ни SSH, ни FXP.
Я думаю о выводе списка локальных и удаленных файлов, чтобы сгенерировать скрипт lftp и затем запустить его. Есть ли способ лучше?
Примечание: загрузка только измененных файлов будет плюсом, но не обязательна.
wput
(подобный wget ftp-uploader):wput dir/ ftp://user:pass@host/dir
Ответы:
lftp должен быть в состоянии сделать это за один шаг, в частности с помощью
lftp mirror
:РЕДАКТИРОВАТЬ: синтаксис команды lftp сбивает с толку, исходный вызов, который я опубликовал, не работает. Попробуйте это так:
обратите внимание на кавычки вокруг аргументов
-e
переключателя.источник
Основываясь на идее Фила об использовании зеркального режима lftp, эта команда добивается цели:
Недостаток заключается в том, что на локальном сервере должен быть запущен FTP-сервер.
источник
Это сработало для меня, многие другие попытки потерпели неудачу. Однажды в lftp, больше информации доступно через:
источник
mirror -R
здесь.Наконец-то получил ответ !!! Создать сценарий оболочки ftpmirror.sh
Если пакет lftp не установлен, установите его, используя yum.
источник