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/rohit/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/rohit/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/rohit/backup /www-data
Where,
  • -T : Do not try to use TAR mode with Recursive mode

Post a Comment

 
Top
Google+