Идея:
монтируем FTP в локальную директорию, дальше rsync'ом синхронизируем файлы (как вариант - cp тоже может синхронизировать)
Ссылки:
Пакет 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)
nano /etc/lftp.conf #Добавляем в конец конфига параметр: set ssl:verify-certificate off
Способ с монтированием работает очень долго. Намного дольше, чем через клиент. Поэтому лучше использовать lftp (а еще лучше, не использовать ftp, в пользу более быстрых соединений).