🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
Rsync is a powerful tool for transferring and synchronizing files across systems. It's widely used for backups, file mirroring, and updating files between local directories or remote servers. Understanding how to use Rsync is essential for anyone working with Linux systems, whether you're managing backups or transferring files between machines.
What is Rsync?
Rsync is a file transfer tool that efficiently copies files by transferring only the differences between the source and destination files. This feature reduces data transfer and speeds up the process, making it a popular choice among system administrators and developers.
Installing Rsync
Rsync is available in the official repositories of most Linux distributions and is often pre-installed. Here’s how to install it on various systems:
Step 1: Install Rsync on Ubuntu and Debian
sudo apt install rsync
Step 2: Install Rsync on FreeBSD
sudo pkg install rsync
Step 3: Install Rsync on Arch Linux
sudo pacman -S rsync
Step 4: Install Rsync on Fedora, AlmaLinux, Rocky Linux, and VzLinux
sudo dnf install rsync
Step 5: Install Rsync on CentOS
sudo yum install rsync
Rsync Command Syntax
The basic syntax for using Rsync is:
rsync [OPTIONS] SOURCE DESTINATION
Where:
- OPTIONS: Flags that modify how Rsync works (like
-afor archive mode). - SOURCE: The file or directory you want to synchronize.
- DESTINATION: Where you want the source to be copied.
For remote transfers over SSH, use this syntax:
rsync [OPTIONS] [USER@]HOST:SOURCE DESTINATION
Replace [USER@]HOST with the remote user's credentials and host address.
Commonly Used Rsync Options
Here are some commonly used options:
-a, --archive: Enables archive mode, preserving file attributes.-v, --verbose: Provides detailed information during the transfer.-z, --compress: Compresses data during transfer to save bandwidth.--exclude=PATTERN: Excludes files matching a specific pattern.--delete: Deletes files in the destination that are not in the source.
Transferring Files and Directories Using Rsync
To get started, you can set up a test environment:
Step 1: Create a test directory
mkdir rsync-test
Step 2: Navigate into the directory
cd rsync-test
Step 3: Create sample files
touch file1 file2 file3
Transfer Local Files
To copy files to a new directory named dest, use:
rsync file1 file2 file3 dest
Verify the files were copied:
ls dest/
Transfer Local Directories
To copy a directory and its contents, use the -a flag:
rsync -a dest/ dest-copy
Verify the copy operation:
ls dest-copy/
Exclude Files or Directories
To exclude specific files from being copied, use the --exclude flag:
rsync -a --exclude 'file2' --exclude 'dest*' . output
Verify the output:
ls output/
Synchronizing Data to a Remote Machine
To synchronize files to a remote machine, use:
rsync -hazvP --delete --stats . [email protected]:synced_from_local
This command does the following:
-h: Outputs numbers in human-readable format.-a: Enables archive mode.-z: Compresses data during transfer.-v: Enables verbose output.--delete: Removes files from the destination that no longer exist in the source.--stats: Provides a summary of the transfer.
Log in to the remote machine using SSH:
ssh [email protected]
Conclusion
Rsync is a versatile tool that simplifies file transfers and synchronization. Whether you're backing up files or transferring data between systems, Rsync's efficiency and flexibility make it an invaluable resource.
Merits
- Efficient file transfers by sending only differences.
- Preserves file attributes and metadata.
- Supports compression to save bandwidth.
- Flexible options for including/excluding files.
Demerits
- Can be complex for beginners due to numerous options.
- Requires SSH access for remote transfers.
- Potential for data loss if used improperly with delete options.
Caution
This article is for educational purposes. Always replace placeholder values with actual data when using commands. Verify any claims against the original source before relying on them.
Frequently asked questions
- What is Rsync? — Rsync is a file transfer tool that synchronizes files between local and remote systems efficiently.
- How do I install Rsync on Linux? — Use the package manager for your distribution, like
apt,dnf, orpacman. - What does the
-aoption do in Rsync? — The-aoption enables archive mode, preserving file attributes during transfer. - Can Rsync be used for remote transfers? — Yes, Rsync can transfer files to and from remote systems using SSH.
- What does the
--excludeoption do? — The--excludeoption allows you to specify files or directories to skip during transfer. - Is Rsync safe to use? — Yes, but be cautious with options like
--delete, which can remove files from the destination.
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.