The Changelog. If you want to discuss changes either create an Issue or a chat on Gitter.
A short intro to RsyncOSX and full documentation of 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.
The app is signed with my Apple ID developer certificate and notarized by Apple. See signing and notarizing for info.
Important: from macOS 10.15 Catalina, notarization is required by default for all software. RsyncOSX is signed and notarized and a new signed and notarized release will be available shortly after release of macOS 10.15.
From version 5.8.6 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 and volunteers for translating to other languages are wanted. Translating RsyncOSX is done by utilizing the Xlifftool. The tool reads a xliff file, which I prepare, for translating. The xliff file is imported into RsyncOSX by Xcode.
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.
Caution about RsyncOSX and the --delete
parameter. The --delete
is a default parameter. 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
parameter) and inspect the result before executing a real run. If you by accident set an empty catalog as source RsyncOSX will delete all files in the destination. To save deleted and changes files either utilize snapshots or the --backup
feature.
The main view of RsyncOSX.
Prepare for synchronizing tasks.
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).
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.
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.
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
As part of this version of RsyncOSX I am using SwiftLint as tool for writing more readable code. There are about 120 classes with 15,000 lines of code in RsyncOSX. I am also using Paul Taykalo´s swift-scripts to find and delete not used code.
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 RsyncOSX.app
and 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.
XCTest configurations are in development.