Simplify Your File Synchronization and Backup with Linux Rsync Command

📆 · ⏳ 2 min read · ·

Introduction

The rsync command is a powerful tool for file synchronization and backup in Linux. It is a command-line utility that allows you to efficiently synchronize files between two directories on the same or different systems. With rsync, you can keep your files synchronized across multiple devices, create backups, and transfer files securely over the network.

In this article, we’ll explore how the rsync command works and learn how to use it for file synchronization and backups.

Using the Rsync Command

To use the rsync command, you must first have it installed on your Linux system. Most Linux distributions come with rsync pre-installed, but if it’s not installed, you can install it using your package manager.

The basic syntax of the rsync command is as follows:

Terminal window
rsync [options] source destination

Where the source is the directory or file that you want to synchronize or backup, and the destination is the location where you want to store the synchronized or backed up files.

Here are some examples of how to use the rsync command:

Synchronize two directories

To synchronize two directories, use the following command:

Terminal window
rsync -avh /path/to/source /path/to/destination

The -a option preserves the file permissions, ownership, and timestamps, while the -v option displays verbose output, and the -h option displays the file sizes in human-readable format.

Synchronize over SSH

To synchronize files over SSH, use the following command:

Terminal window
rsync -avh -e ssh /path/to/source user@remote:/path/to/destination

The -e option specifies the remote shell to use, and the user@remote specifies the username and hostname of the remote system.

If you have SSH configured to use a non-standard port, you can specify the port number using the -p option:

Terminal window
rsync -avh -e 'ssh -p 2020' /path/to/source user@remote:/path/to/destination

Backup files

To create backups of files, use the following command:

Terminal window
rsync -avh --backup --backup-dir=/path/to/backup /path/to/source /path/to/destination

The --backup option creates backups of files that have changed or been deleted, and the --backup-dir option specifies the directory where backups will be stored.

Conclusion

The rsync command is a powerful tool for file synchronization and backups in Linux. It allows you to efficiently synchronize files between two directories on the same or different systems, transfer files securely over the network, and create backups of files that have changed or been deleted.

With its simple syntax and advanced features, rsync is a must-have tool for anyone who wants to keep their files organized and secure.

You may also like

  • # linux

    Mount a drive permanently with fstab in Linux

    Let's see how to mount a drive permanently in Linux using the fstab file which will mount the drive automatically on boot.

  • # linux# homelab# selfhosted

    Setup Jellyfin with Hardware Acceleration on Orange Pi 5 (Rockchip RK3558)

    Recently I moved my Jellyfin to an Orange Pi 5 Plus server. The Orange Pi 5 has a Rockchip RK3558 SoC with integrated ARM Mali-G610. This guide will show you how to set up Jellyfin with hardware acceleration on the Orange Pi 5.

  • # linux# homelab

    HTTPS with self-signed certificates for your Homelab services

    In this article we will deep dive into understanding how we can setup HTTPS with self-signed certificates for our Homelab services.This is often required when you are running your own services and you want to access them over HTTPS.