RsyncOSX - a GUI for rsync

RsyncOSX is a pure Swift based macOS application utilizing the command line tool rsync for synchronizing files. It is rsync which executes the actual synchronized task. RsyncOSX is a GUI only on top of rsync. RsyncOSX is signed and notarized by Apple.There are no third party libraries included in the code. There are three source codes not developed by me included in the code. The third part of the source code is only for support and not critical if removed.

Add task

Caution: always verify, by a --dry-run, the result of a new task before executing it. See synchronize data task how to verify a task. A task require minimum a local catalog and a remote catalog. Continue to add new tasks until completed and tasks are saved to permanent storage after each entry. Select local catalog either by GUI, drag and drop or by enter text directly. Add is selected by choosing Add task on the sidebar menu.


RsyncOSX is signed and notarized. Please see info about the latest version of rsync in install. Minor non critical issue 7 May 2023 If you in the main view select a task and then to the logs view, RsyncOSX filter the logs for only the selected task. If you then return to main view, select a new profile, the index to the previous selected task in previous profile is not cleared.


If you are new to the command line tool rsync and RsyncOSX please read this information. RsyncOSX is a GUI only on top of the command line tool. It is rsync which does actual work, not RsyncOSX. The –delete parameter and new tasks The --delete parameter is a default parameter set by RsyncOSX to rsync. The parameter instructs rsync too keep the source and destination in sync. The parameter instructs rsync to delete all files in the destination which are not present in the source.

How to compile RsyncOSX

RsyncOSX is only depended upon Cocoa and Foundation classes which are standard Swift libraries. There are two ways to compile, either in Xcode or utilize make from command line in RsyncOSX catalog. To use make require Xcode command line utilities to be installed. Execute the following command and follow the instructions. xcode-select --install Remove signing credentials or replace To compile you have to either remove signing or replace signing credentials. To remove or replace select Target RsyncOSX and tab “Signing and Capabilities”.

Execute several tasks

There are three options for executing several synchronize tasks. The three toolbar buttons are: Search for all tasks with files to synchronize and execute. or by ⌘B shortcut Do an estimation run and present which tasks with files to be synchronized. or by ⌘T shortcut As above, but for the selected tasks. or by ⌘R shortcut A double click on a task executes an estimation run and shows the result of the estimation.

Execute single tasks

In Synchronize view tasks can be executed as single tasks. Execute single tasks require two double clicks: the first double click for estimation (--dry-run) and the second double click for executing the task The output from rsync is presented after each run. Verify and execute a single task Execute a single task is a two step operation. The first is an estimation or verify run, a --dry-run execution. The second one is the real run.

Latest version of rsync

+++ The default version 2.6.9 of rsync in macOS was released in nov 2006. And there has been several fixes and releases since then. The news about the current release of rsync is here. Due to new features in rsync and dependency to shared libraries it is not possible to bundle the latest version together with RsyncOSX. It is adviced to install rsync as part of Homebrew. In RsyncOSX select user configuration and set path for optional version of rsync.


RsyncOSX is localized to: Chinese (Simplified) - by StringKe (Chen) German - by Andre Voigtmann Norwegian - by me English - the base language of RsyncOSX Italian - by Stefano Steve Cutelle’ Dutch - by Marcellino Santoso


Logging in RsyncOSX might be switched on/off in user configuration. All log records are listed in table within Logs tab. The log records are by default sorted with most recent ontop. Log records can be filtered by date by search field. Any column can be sorted by selecting the appropriate column. The sort direction, ascending or descending, is selected by direction of the arrow. Log records can be selected for delete as well.