Bobcares

How to Preserve Permissions in rsync

by | Feb 17, 2021

Wondering how to preserve permissions in rsync? We can help you.

Often after migration, it becomes a tedious task to compare and set the permissions of files/folders as in the source server.

To make this easy we can preserve the permissions while migrating using rsync.

Here at Bobcares, we use rsync to make migration requests of our customers hassle-free.

Today let’s see how our Support Techs do this for our customers as a part of our Server Management Services.

Preserving Permissions in rsync

Did you know that rsync is a powerful file and folder synchronization tool in Linux?

The advantage of rsync is that instead of copying data blindly, it compares the source and destination directories so that only the difference between the two is sent through the network (or between volumes).

Before going to the commands for preserving permissions in rsync we will see some of the features of rsync.

Key features of rsync are:

  1. Rsync lets us update entire directory trees and filesystems, ensuring that the source and destination are in sync.
  2. Rsync can optionally preserve symbolic links, hard links, file ownership, permissions, devices, and timestamps during the synchronization process.
  3. It does not require any special privileges for installation, making it accessible to a wide range of users.
  4. Rsync’s internal pipelining reduces latency when transferring multiple files, improving overall performance.
  5. Rsync supports various transport methods, including rsh, ssh, or direct sockets. It lets us choose the most appropriate option for our needs.
  6. Furthermore, it supports anonymous mirroring, which is useful for setting up public file mirrors.

Methods to preserve permissions in rsync

In order to preserve permissions, we will use -p flag (–perms).

The -p or –perms flag preserves the permissions of the files and directories being transferred.

We can also use -a flag (–archive), which is an aggregation of -p and several other useful ones.

Archive mode consists of the following flags:

-r, --recursive recurse into directories
-l, --links Copy symlinks as symlinks
-p, --perms Preserve permissions
-t, --times Preserve times
-g, --group Preserve group
-o, --owner Preserve owner (super-user only)
-D, --devices --specials Preserve devices (super-user only) +files

‘rsync -a’ option preserves the permissions, ownership, timestamp of files and folders that are to be transferred using rsync.

To transfer a file or folder from source to destination using rsync, we use the format:

rsync source destination

To preserve the above-mentioned permissions, ownership, and timestamp we can use the following command:

rsync -avz source destination

  • -a: Enable archive mode to preserve permissions, ownership, and timestamps
  • -v: Provide verbose output
  • -z: Compress the data during transfer

This will synchronize the two folders or files and will also maintain the same timestamp as that of the source.

To test whether the rsync has been done right we can check the permission of files in a folder in the source destination using the following command:

ls -al

It’s important to note that rsync copies the numerical user ID of the file, regardless of whether the user exists on the target system or not.

This means that if the user ID does not exist on the destination, the file ownership may not be preserved as expected.

In such cases, we have to make sure that the necessary user accounts exist on the destination system or use additional options like –chown to set the desired ownership.

[Need assistance to use rsync? We can help you]

Conclusion

In short, we saw how our Support Techs use rsync to preserve permissions.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF