Установка LFTP для удаленного копирования файлов по протоколу FTP с сервера на удаленный FTP

LFTP - программа для удаленного копирования файлов по протоколу FTP с сервера на удаленный FTP сервер.

Для установки LFTP должно быть установлено на сервере следующее программное обеспечение: gcc, gcc-c++, readline-devel, ncurses-devel и gnutls-devel

Установка требуемого ПО для компиляции пакета LFTP

yum install gcc gcc-c++ readline-devel ncurses-devel gnutls-devel -y

Если какой то из пакетов уже установлен, то система обновит его до последней версии, если пакет стоит последней версии, то он будет пропущен.

Установка пакета LFTP
На момент написания статьи была использована версия lftp-4.0.4.
Последнюю версию на данный момент можно найти на странице официального сайта http://lftp.yar.ru/get.html

Скачиваем, распаковываем и компилируем пакет LFTP:

cd /tmp
wget http://ftp.yars.free.net/pub/source/lftp/lftp-4.0.4.tar.gz
tar xzf lftp-4.0.4.tar.gz
cd lftp-4.0.4
./configure
make
make install

Теперь пакет LFTP установлен и его можно запустить, набрав в шелле команду lftp...

Команды использования LFTP
Есть несколько вариантов использования, но мы рассматриваем вариант полной и частичной синхронизации каталогов и файлов.

Ключи программы LFTP:
-е - указывает программе, что файл должен быть перезаписан если в нем были изменения.
-R - указывает копировать все что есть в каталога в месте с подкаталогами.
-u - логин,пароль от FTP (Пример: у Вас логин на ftp - ftplogin и пароль на ftp - ftppass , то вводим "-u ftplogin,ftppass" - логин,пароль именно так без пробелов и через запятую).

В нашем примере использованы следующие наименования:
USER - имя Вашего пользователя
you-domain.ua - имя Вашего домена
ftplogin - логин ftp
ftppass - пароль ftp

Полное копирование директории со всем содержимым на удаленный сервер.
Если файлы совпадают по размеру, то они не перезапишутся!!!
К примеру нам надо скопировать файлы с сервера из директории /home/USER/public_html/ на удаленный сервер по ФТП в директорию /home/USER/public_html/, если файлы такие есть и их содержимое не совпадает, то программа заменит эти файлы, если файлы совпадают, то программа пропустит их и оставит их без изменений:

lftp -c 'open youdomain.ua/public_html/ -u ftplogin,ftppass; mirror -R /home/USER/public_html;'

Установка задания в крон.
К примеру нам надо чтоб под пользователем USER задание крона выполнялось в 0 часов, то добавляем так:
echo '0 0 * * * /usr/local/bin/lftp -c open youdomain.ua/public_html/ -u ftplogin,ftppass; mirror -R /home/USER/public_html;"' > /var/spool/cron/USER

Копирование одного файла на удаленный сервер.
Если файл совпадет по размеру, то он не перезапишется!!!
К примеру нам надо передать файл test.php из директории /home/USER/public_html/ на удаленный сервер по ФТП в директорию /home/USER/public_html/:

lftp -c 'open youdomain.ua/public_html/ -u ftplogin,ftppass; mirror -R /home/USER/public_html/test.php;'



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов