Как синхронизировать папки по ftp

Синхронизация локальной папки и папки на сервере через ФТП

lftp -e "set ftp:ssl-allow no; mirror --continue -v --parallel=2 from-ftp-folder/ /to-local-folder; bye" -u username -p 21 hostname

Также можно написать bash функцию

hostname=""
username=""
password=""

ftp_upload () {
	
from=$1
to=$2

printf "Sync ${GREEN}$from${NC} -> ${GREEN}$to${NC}\n"

lftp -u ${username},${password} ${hostname} << EOF
mirror --reverse --delete --continue -v --parallel=2 --exclude .git/ --exclude vendor/ $from $to
EOF

}

ftp_download () {
	
from=$1
to=$2

printf "Sync ${GREEN}$from${NC} -> ${GREEN}$to${NC}\n"

lftp -u ${username},${password} ${hostname} << EOF
mirror --delete --continue -v --parallel=2 --exclude .git/ --exclude vendor/ $from $to
EOF

}

Также параметры подключения могут быть:

set ftp:ssl-allow no;
set ftp:ssl-allow yes;
set ftp:ssl-force true;
set ssl:verify-certificate no;

Для отладки;

debug 3;
debug 10;