Site icon Web Niraj

Syncing Servers using Rsync

A while ago I had to sync files from one server to another. The reason? I was responsible for moving all the application and websites hosted on a old server to a new, faster server with better security and a updated operating system. Since the servers were remote, I couldn’t simply use a USB drive and transfer the files from one server to another.

Instead, I used a handy unix command line tool called rsync. It let me copy all the files I needed from one server to another over SSH. The command line I used was:

See the gist on github.

The basic rsync command can be used to copy files from one folder to another. I also find it particularly useful to remove SVN directories from my source code, before sending it to clients. This is a typical command:

See the gist on github.

The r flag is used to recursively copy folders, so entire folder structures can be copied effortlessly. The r flag can be left out if only files need to be copied. The v flag is used to output the list of files and folders that are being copied so you can see the progress in real-time.

The z flag compresses the transfer, useful if you have bandwidth limits to stick to when transferring data over the internet. The u flag only copied updated files that were changed since the last sync – this makes it easier to keep files up-to-date between servers (providing that files didn’t change on the destination server).

Exit mobile version