July 16, 2020
Download files recursively through a FTP connection using wget
Unfortunately, SCP and Rsync aren’t always an option to get our files out of a server. When FTP is all we have, wget
can still do a pretty good job and not re-download files you already have, like a primitive Rsync.
wget -nc -nH --cut-dirs=<NUMBER_REMOTE_FOLDERS_TO_CUT_FROM_PATH> --ftp-user='<FTP_USER>' --ftp-password='<FTP_PASSWORD>' -rl 0 -P <LOCAL_PATH> 'ftp://<REMOTE_HOST>/<PATH_TO_FILES>'
Explanation for the used flags:
-nc, --no-clobber skip downloads that would download to existing files (overwriting them)
-nH, --no-host-directories don't create host directories
--cut-dirs=NUMBER ignore NUMBER remote directory components
-r, --recursive specify recursive download
-l, --level=NUMBER maximum recursion depth (inf or 0 for infinite)
-P, --directory-prefix=PREFIX save files to PREFIX/..