Read about the --delete parameter (below) to rsync before using rsync and RsyncOSX.
RsyncOSX is a GUI on top of the command line utility
rsync. Rsync is a file-based synchronization and backup tool. There is no custom solution for the backup archive. You can quit utilizing RsyncOSX (and rsync) at any time and still have access to all synchronized files.
RsyncOSX is compiled with support for macOS El Capitan version 10.11 - macOS Catalina version 10.15. The application is implemented in Swift 5 by using Xcode 11. RsyncOSX is not depended upon any third party binary distributions. There is, however, one third party source code included to check for TCP connections.
Scheduled tasks are added and deleted within RsyncOSX. Executing the scheduled tasks is by the menu app.
RsyncOSX is dependent on setting up password less logins for remote servers. Both ssh-keys and rsync daemon setup are enabled. It is advised utilizing ssh-keys.
Signing and notarizing
RsyncOSX speaks new languages. RsyncOSX is localized to:
- Chinese (Simplified) - by StringKe
- Norwegian - by me
- English - the base language of RsyncOSX
RsyncOSX is prepared for new languages.
Please read this
Is RsyncOSX easy to use or a backup tool for the average user? If you have some understanding of how to use rsync, it is helpful for understand the use of RsyncOSX. If you don't know what rsync is I recommend to read about rsync before commencing use of RsyncOSX.
RsyncOSX is not developed to be an easy synchronize and backup tool. The main purpose is to ease the use of rsync and synchronize files on your Mac to remote FreeBSD and Linux servers. And of course restore files from remote servers. The UX might be difficult to understand if you don't know rsync.
RsyncOSX supports synchronize files and snapshots of files. It is important you understand either what synchronize is and snapshot before using RsyncOSX.
If your plan is to use RsyncOSX as your main tool for backup of files, please investigate and understand the limits of RsyncOSX and rsync. RsyncOSX is quite powerful, but it is might not the primary backup tool for the average user of macOS.
Version of rsync
RsyncOSX is only verified with rsync versions 2.6.9, 3.1.2 and 3.1.3. Other versions of rsync will work but numbers about transferred files is not set in logs. It is recommended to install the latest version of rsync.
If you are only looking for utilizing stock version of rsync (version 2.6.9) and only synchronize data to either local attached disks or remote servers, there is a minor version (RsynGUI) available on Mac App Store. RsyncGUI does not support snapshots or scheduling task.
The --delete parameter
For your own safety please read and understand the following:
Caution about RsyncOSX and the `--delete` parameter. The `--delete` is a default parameter. The parameter instructs rsync to keep the source and destination synchronized (in sync). The parameter instructs rsync to delete all files in the destination which are not present in the source. Every time you add a new task to RsyncOSX, execute an estimation run (--dry-run) and inspect the result before executing a real run. If you by accident set an empty catalog as source RsyncOSX (rsync) will delete all files in the destination. To save deleted and changes files either utilize snapshots (https://rsyncosx.github.io/Snapshots) or the `--backup` feature (https://rsyncosx.github.io/Parameters). The --delete parameter and other default parameters might be deleted if wanted.
A Sandboxed version
There is also released a minor version, RsyncGUI of RsyncOSX on Apple Mac App Store. See the changelog. RsyncGUI utilizes stock version of rsync in macOS and RsyncGUI only supports synchronize task (no snapshots).
About bugs and crash?
What happens if bugs occurs during execution of tasks in RsyncOSX?. Fighting bugs are difficult. I am not able to test RsyncOSX for all possible user interactions and use. From time to time I discover new bugs. But I also need support from other users discovering bugs or not expected results. If you discover a bug please use the issues and report it.
About restoring files to a temporary restore catalog
If you do a restore from the
remote to the
source, some files in the source might be deleted. This is due to how rsync works in
synchronize mode. As a precaution never do a restore directly from the
remote to the
source, always do a restore to a temporary restore catalog.
The application icon is created by Zsolt Sándor. All rights reserved to Zsolt Sándor.
How to use RsyncOSX - YouTube videos
There are four short YouTube videos of RsyncOSX:
- getting RsyncOSX and installing it
- the video also shows how to create the two local ssh certificates for password less logins to remote server
- adding and executing the first backup
- doing a full restore to a temporary local restore catalogs
- how to change version of rsync utilized by RsyncOSX
SwiftLint and SwiftFormat
There are about 130 classes with 14,900 lines of code in RsyncOSX.
To compile the code, install Xcode and open the RsyncOSX project file. Before compiling, open in Xcode the
RsyncOSX/General preference page and replace with your own credentials in
Signing, or disable Signing.
There are two ways to compile, either utilize
make or compile by Xcode.
make release will compile the
make dmg will make a dmg file to be released. The build of dmg files are by utilizing andreyvit script for creating dmg and syncthing-macos setup.
Xliff and translating
Translating RsyncOSX is done by utilizing the Xlifftool. The tool reads a xliff file. The xliff file is imported into RsyncOSX by Xcode.
XCTest configurations are in development.