Use of Rsync Command in Linux with Example
What is Rsync Command In Linux?
The Rsync command in Linux is mostly used to copy and synchronize files and directories remotely along with copying them locally in Linux/Unix system.
With the help of the rsync command, you can easily copy and synchronize your data remotely and locally across the directories, disks, and networks. You can also perform data backups, and mirror between two Linux machines.
In this article, we’re going to walk you through the deep analysis of the rsync command with practical examples so you never have to Google anything about the rsync command.
However, if you’re new to the Linux field, you should first learn the basic Linux Commands, and then you can use the rsync command more efficiently.
Advantages of Rsync Command in Linux
Below are some of the major advantages of using the rsync command;
No need to have root privileges to run the rsync command. You can easily use it without root access.
it’s the most effective way to sync and copy files from or to a remote server.
You can copy links, devices, owners, groups, and permissions which is rare.
It’s faster than SCP (Secure Copy) method as it uses a remote-update protocol to transfer files between server to system.
It consumes less bandwidth in comparison with any other copying method because rsync uses compression and decompression while sending or/and receiving data from both ends.
How to Use the Rsync Command
# rsync options source destination
Some useful arguments you can use with the rsync command;
-r : copies data recursively (but don’t preserve timestamps and permission while transferring data.
-a : archive mode, which allows copying files recursively and it also preserves symbolic links, file permissions, user & group ownerships, and timestamps.
-z : compress file data.
-v : verbose
-h : human-readable, output numbers in a human-readable format.
How to Install Rsync In Linux System?
Installation of the Rsync command is fairly simple. You can easily install it by following the below command.
$ sudo apt-get install rsync [On Debian/Ubuntu & Mint] $ pacman -S rsync [On Arch Linux] $ emerge sys-apps/rsync [On Gentoo] $ sudo dnf install rsync [On Fedora/CentOS/RHEL and Rocky Linux/AlmaLinux] $ sudo zypper install rsync [On openSUSE]
Copy/Sync Files & Directories Locally
Copy/Sync a File on a Local Computer
Use the following command to Sync/Copy a file locally from one location to another.
[getintod@server55 public_html]$ rsync xmlrpc.php /home/getintod/ (Execute command from public_html PWD) [getintod@server55 public_html]$ cd /home/getintod/ (Jump to the directory where you copied) [getintod@server55 ~]$ ls (List the contents) access-logs file2.php newfile2.php public_ftp var backup getintod newfile3.php public_html wp-login.php cpanel3-skel home.php newfile.php renamed.htaccess www etc logs ocartdata ssl xmlrpc.php (File Successfully Copied & Scyned) example1.php mail perl test.php example.php newfile1.php perl5 tmp [getintod@server55 ~]$
Copy/Sync a Directory on a Local Computer
Use the below command to transfer or sync all the files of a directory to a different directory on the same machine. In the below example, /home/getintod/backup directory contains several files and I want to copy all the files present inside the backup directory to another directory named etc.
[getintod@server55 ~]$ rsync -avzh /home/getintod/backup /home/getintod/etc/ (Transfer every files from backup directory to etc directory) sending incremental file list backup/ backup/boot.html backup/homepage.php. backup/index.html backup/new.tar backup/newfile.php sent 376 bytes received 115 bytes 982.00 bytes/sec total size is 0 speedup is 0.00
Copy/Sync Files & Directories to or from a Remote Server
Copy a Directory from a Local Server to a Remote Server
You can simply use the below command to copy/sync a file from a remote server. In the below example, I’m having a couple of files inside the etc directory of my local server, and want to transfer all its content to the remote server. Type the following command to send a directory from a local server to a remote server.
Note: Do not forget to change the path and IP Address with yours. Don’t just copy-paste the command. It won’t work.
[getintod@server55 ~]$ rsync -avzh /home/getintod/etc email@example.com:/root/
Copy/Sync a Remote Directory to a Local Machine
[getintod@server55 ~]$ rsync -avzh firstname.lastname@example.org:/root/backup /home/getintod/etc/ email@example.com's password: receiving incremental file list sent 25 bytes received 186 bytes 24.82 bytes/sec total size is 0 speedup is 0.00
There are several more ways to use rsync command but these two are the most used and easiest commands to copy/sync files and directories between remote server to local.
I hope now you can easily use the rsync command in Linux. Other than this, if this still didn’t knock your mind then you can visit Redserverhost.com and open a Free Support Ticket. Our experienced technical team will be happy to assist you. Other than this, you can purchase Reseller hosting or Dedicated hosting from Redserverhost and Save some extra amount as we’re one of the Cheapest Hosting Providers across the Internet.
Now Don’t Say “Who wants to Save Money?”