Rsync is a very handy tool should you need to migrate a whole lot of files from one server to another. It does also help providing you with a very customizable way of moving files. All in all a very good tool for testing, doing a live migration or just moving files around in a server environment.
This article presumes you have some knowledge on how to use the terminal / command prompt and the basics of SSH. The first thing you need is a place where you want to move files from and too. Either doing the push or pull method is up to you. Let’s say you want to pull files from another server:
- Log onto the DESTINATION server
If with us that would be something like this:
ssh [email protected]
You can find the exact username and hostname under your site’s server login information:
- Note the SSH information from the SOURCE server
This shouldn’t be very different from the SSH credentials you would have with us. What you need is:
– SSH Password
– Source directory
– Port number (not necessary to note should it be 22)
- Run RSYNC from the DESTINATION server
The normal syntax for the RSYNC pull method looks like this:
rsync -[OPTION] [USER]@[HOST]:[SRC-DIR] [DESTINATION]
So an example could look like this:
rsync -av [email protected]:~/secret/folder/ ~/new/server/destination
Same example with a specific port number:
rsync -av -e "ssh -p 12345" [email protected]:~/secret/folder/ ~/new/server/destination
- Some things to note
-[OPTION] is not necessary should you not need to use any specific options. Though using at least -a option will ensure you to copy most things as they are on the source server
Not adding / after the source directory will move the whole directory and not just it contents. Also not specifying the source directory will pull everything from the user root.
The ~ means to begin from user root at the specified server.
Should you need to read the manual pages for rsync you can always run
man rsyncor you can check out this link.
And that’s the gist on how to pull something from another server. You can also use the push method where you push your contents from source to your destination. How you will do that is be just switching the specified source and destination around and running it from the source server, like this:
rsync -[OPTION] [DESTINATION] [USER]@[HOST]:[SRC-DIR]
This is an article which looks just looks at the surface of rsync. I’ll urge you to test it for yourself and see what works and not.
Also we’ll always be available for you on our chat at servebolt.com should you have any questions!
Give us your feedback on this article
Did this help you?
Servebolt has launched Accelerated Domains!
Accelerated Domains is a service that greatly improves and optimizes your site on these four areas: Performance, Scalability, Security and the Carbon footprint of your website.