Sometimes we need the same source code on multiple servers. It could be done with rsync, but mostly we don’t have a ssh access. However we can still use FTP to do it for us.
NCFTP
In linux systems, like Ubuntu we can use ncftp. To install it type:
sudo apt-get update sudo apt-get install ncftp
From now on you can use it to copy your local files to the remote ftp account.
ncftpput -v -R -u "ftpuser" -p "ftppassword" REMOTE_FTP_HOST /your/ftp/path/ /your/local/direct/path/*
That works fine, but the title says “multiple”. If we have more then one host which needs to be synchronized, we can use Bash Scripting. Let’s create a new executable file.
touch ftpsynch.sh chmod +x ftpsynch.sh vi ftpsynch.sh
Then add as many lines as needed.
#!/bin/bash echo 'sending REMOTE_FTP_HOST#1' ncftpput -v -R -u "ftpuser1" -p "ftppassword1" REMOTE_FTP_HOST#1 /your/ftp/path/ /your/local/direct/path/* echo 'sending REMOTE_FTP_HOST#2' ncftpput -v -R -u "ftpuser2" -p "ftppassword2" REMOTE_FTP_HOST#2 /your/ftp2/path/ /your/local/direct/path/* # ...
When ready, hit ESCAPE and double SHIFT+Z to save the file and run it.
./ftpsynch.sh
You’ll see a list of files being sent to your ftp hosts. It may take some time depending on the amount and size of files.
Use it well nerds.