Содержание

Синхронизация FTP

Через монтирование (curlftp)


Идея:

монтируем FTP в локальную директорию, дальше rsync'ом синхронизируем файлы (как вариант - cp тоже может синхронизировать)
Ссылки:


Через lftp


Пакет lftp необходимо предварительно установить:

sudo apt-get install lftp

Проверить, что lftp установлен:

lftp -e 'exit;' ; echo $?

Если выведет 0, то установлен. Если отличное от 0 сообщение - то не установлен.
Синхронизация с локальной директории на FTP:

lftp -e "mirror -c -R /local/dir/ /ftp/dir; bye;" ftp://user:pass@ftp.server


Синхронизация с FTP на локальную директорию:

lftp -e "mirror -c /ftp/dir /local/dir/ ; bye;" ftp://user:pass@ftp.server

Обратите внимание! В команде mirror параметры «откуда» - «куда», в такой последовательности. И никак иначе.
Ключ -R - реверсивное зеркалирование (с локальной директроии на FTP)

Lftp - mirror: Fatal error: Certificate verification: Not trusted

nano /etc/lftp.conf
#Добавляем в конец конфига параметр:
set ssl:verify-certificate off

Ссылки

Примечания

Способ с монтированием работает очень долго. Намного дольше, чем через клиент. Поэтому лучше использовать lftp (а еще лучше, не использовать ftp, в пользу более быстрых соединений).