You can use ncftpget command to download entire ftp directory and sub directories from remote ftp server. Let us say you would like to download /www-data directory and all subdirectories inside this one from ftp.nixcraft.net server. You need to use ncftpget command.
Install ncftp client
ncftp client software can be downloaded from http://www.ncftp.com/ncftp/ and works with FreeBSD, Solaris and all most all UNIX variant. You can also run command as follows to install ncftp:
$ sudo apt-get install ncftp
FTP get directory recursively
ncftpget is Internet file transfer program for scripts and advance usage. You need to use command as follows:
$ ncftpget –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
Where,
- -R : Copy all subdirectories and files (recursive)
- -v : Verbose i.e. display download activity and progess
- -u "USERNAME" : FTP server username, if skipped ncftpget will try anonymous username
- ftp.nixcraft.net : Ftp server name
- /home/vivek/backup : Download everything to this directory
- /www-data : Remote ftp directory you wish to copy
If you get an error which read as follows:
tar: End of archive volume 1 reached tar: Sorry, unable to determine archive format. Could not read directory listing data: Connection reset by peer
Then add –T option to ncftpget command:
$ ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
Where,
- -T : Do not try to use TAR mode with Recursive mode
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- 10 Greatest Open Source Software Of 2009
- My 10 UNIX Command Line Mistakes
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
- Email this to a friend
- Download PDF version
- Printable version
- Comment RSS feed
- Last Updated: Sep/26/2007



{ 7 comments… read them below or add one }
This is GREAT! I have been struggling with transferring files from multiple partitions on one machine to multiple partitions on another, so NFS doesn’t get it done no matter which isthe server of client. I am now using ProFTPd as a server, and ncftp as a client, and I am watching the partitions fill up as I expected, rather than as NFS and cp -vurf were getting it done.
Thank you for posting this fantastic guide!
Great. I’ve been trying to make a full copy of my ftp site for a backup.
Thanks! needed to backup my site, and didn’t want to spend too much time writing a script…
very nice guide.
I install ncftp client in CentOS and its work.
Very useful guide !
I´m using it for my FTP-Server
Hi Vivek,
Very nice and encourageing blog you have, it’s inspire to all of us, realy it works in all manner, I hope you could be feeling the same
Cheers
Go opensource……
Ravi Bhure
This is great…except where the directory on the ftp happens to have a [ or ] character in it. A file in a directory your getting can have those characters, just not the directory you specify in the command :(
ncftpget will return the error “remote directory listing failed.”
Really unfortunate, this was *almost* the perfect solution for me.