Using Wget with FTP to Download/Move Web Sites Recursively

Sometimes you need to move a website from one server to another. Instead of downloading the website from the old server to your PC via FTP and uploading it from your PC to the new server, it would save a lot of time to copy the web site from one server to the other. This tutorial explains how to use Wget to download/move a website from one server to the other via FTP.

1 Preliminary Note

I assume you have a working FTP login on the remote server.

Install wget

The wget command is installed already on many systems. in case it is not installed on your server or desktop yet, use the following commands:

Install wget on Debian and Ubuntu

sudo apt install wget

Install wget on CentOS, AlmaLinux or Rocky Linux

dnf install wget

3 Using Wget

To download a remote web site to your local server recursively, you can use Wget as follows:

wget -m ftp://username:[email protected]/

The -m switch enables mirroring, which means it enables recursion with infinite recursion depth and keeps FTP directory listings and time stamps.

If you want to download a specific subdirectory, e.g. /htdocs, you'd do it as follows:

wget -m ftp://username:[email protected]/htdocs

If your username or password contains spaces or special characters, put them in single quotes. Example:

wget -m ftp://'user name':'pass!word'@www.mydomain.tld/
Share this page:

0 Comment(s)