Parameters to rsync

RsyncOSX implements default parameters which are working fine for simple synchronize and restore tasks. The actual parameters used in tasks are depended upon executing rsync over network connection or not. Which standard parameters to use is computed during startup of application by reading the configuration file. The user can also remove default parameters if required. Default rsync parameters The following parameters are applied to all tasks: --archive ensures that all files are transferred with all attributes preserved --verbose make rsync very outspoken, required for counting files in RsyncOSX --delete delete all files at destination which are not in the source this parameter also applies when restoring files, always do a restore to a temporary restore catalog Default rsync parameters networked tasks only The following parameters are for networked tasks only.

Passwordless logins by ssh-keys

RsyncOSX utilizes user set ssh keypath and identityfile. Default values for ssh are ~/.ssh/id_rsa and portnumber 22. It is not required to set your own values for key path and identityfile if default values are used. The ssh parameter within the rsync command is, if set by the user: -e "ssh -i ~/.ssh_keypath/identityfile -p NN" where -i ~/.ssh_keypath/identityfile is the ssh keypath and identityfile and -p NN is the port number ssh communicates through, default port 22

Restore files

A restore of files should always be executed carefully. It is only allowed to do a restore of files to a temporary restore catalog. To set a temporary restore path select userconfiguration and set temporary path restore. There are two types of restore: full restore restore by files if the remote is a snapshot the list of files might be huge, depends upon how many snapshots and how many files in a snapshot A restore always start with selecting the task and then the Filelist button.

Rsync daemon setup

With a few tweaks it is possible to get RsyncOSX working with rsync daemon. Be aware of not utilizing ssh, transfer of data is not encrypted. This is might not a problem on a local network, but I would not advise it on a public network. Also be aware of snapshot is not possible with a rsync daemon setup. Setting up a rsync daemon setup require a server side setup and some tweaks in RsyncOSX.

RsyncOSX config files

RsyncOSX stores its configurations, schedules and log records and user configurations as JSON files. The storage of those files is: $HOME/.rsyncosx/macserialnumber In the About the used path for configuration files is shown. RsyncOSX evaluates the computer mac serial number at startup. Configuration files $HOME/.rsyncosx/macserialnumber/configurations.json If profile is utilized: $HOME/.rsyncosx/macserialnumber/profile/configurations.json Schedules and log records $HOME/.rsyncosx/macserialnumber/schedules.json If profile is utilized: $HOME/.rsyncosx/macserialnumber/profile/schedules.json User configurations The user configurations is stored as: $HOME/.rsyncosx/macserialnumber/rsyncosxconfig.json The user settings applies to all profiles.

Signing and notarization

RsyncOSX is signed with my Apple ID developer certificate and notarized by Apple. This means that the app is verified and checked for not containing malicious code and it will work with Apples Gatekeeper technology. From macOS 10.15 Catalina, notarizing is required for all software. The message is “Apple checked it for malicious software and none was detected.” You can also verify the signing by utilizing xcode developer tools. If you have Xcode developer tools installed, by executing the following command you can verify RsyncOSX:


Utilizing snapshot is an effective method for restore of previous versions of data and deleted files. Snapshot utilize hardlinks and only changed and deleted files are saved as separate files in a snapshot. Files which are not changed are hardlinks to the original file. If a file.txt is saved in snapshot number one and never changed or deleted, the file file.txt in the latest snapshot is just a hardlink to the original file.

User configuration

There are a few parameters to choose in user configuration. Parameters are saved to permanent store. Rsync v3.2.x rsync - set optional path if NOT by Homebrev - any version of rsync should work, but only version 2.6.9 and 3.2.x are tested and verified utilizing the snapshot feature require version 3.2.x of rsync optional path for rsync: if utilized version of rsync is not installed by Homebrew set path to rsync temporary path restore: preset temporary path for restoring single files and catalogs preset temporary path for a full restore If there is a not valid rsync path is set an error is presented.

Verify synchronized files

The verify of synchronized data is triggered by the File -> Check synchronized menu or the ⌘K shortcut. The --archive parameter is the normal parameter to use in synchronize and snapshot tasks because it is fast. The --archive parameter to rsync preserves a lot of attributes of files when synchronizing. Files transferred in –archive mode ensures that symbolic links, devices, permissions, ownerships, modification times, ACLs, and extended attributes are preserved. When synchronizing files based upon the –archive parameter, rsync compares file size and last modification time to compute which files to be synchronized.