lftp -e 'mirror -e -vvv /удалённый_адрес /локальный_адрес; bye;' -u пользователь,пароль адрес_фтп
Вот такая конструкция рекурсивно высосет всё с ФТП в локальную папку
с удалением!!!. Если много вывода, то убирать из -vvv по одной букве, если не надо удалять, а нужно добавить содержимое из ФТП в папку, то убрать вторую -e. Пример:
lftp -e 'mirror -vvv /MNT/folder /home/user/folder; bye;' -u ftp_user,password ftp.domen.zone
если надо наоборот, с локальной папки закинуть в ФТП, то нужно добавить -R:
lftp -e 'mirror -R -e -vvv /удалённый_адрес /локальный_адрес; bye;' -u пользователь,пароль адрес_фтп
Внимательно с закрывающим слешем, всё будет по правилам юникса, если нет, то будет писать в директорию, если есть, то добавить дерево в директорию. Я хрен знает как объяснить, ну понятно, тому, кто никсах делал что-то.
Точно работает и шустро.
man достаточно подробный, но там реально дофига и есть внутренние зависимости, так что можно творить всякое.