RsyncUI - a GUI for rsync
RsyncUI is a pure SwiftUI based macOS application, built for macOS Sonoma and later, utilizing the command line tool rsync for synchronizing files. It is rsync which executes the real synchronizing task, not RsyncUI. RsyncUI is a GUI only on top of rsync. RsyncUI is signed and notarized by Apple. Changelog and install See the changelog for updates. RsyncUI is built as a Universal macOS Binary, which means it runs nativly on Apple Silicon and Intel-based Mac computers....
Changelog
RsyncUI is signed and notarized and built as Universal macOS Binary. If you miss some functions please drop me an email: thomeven@gmail.com or create an Issue on GitHub. All suggestions about enhancements are welcome. Version 2.1.3 (build 113) - 16 September 2024 Sorry for many updates in a few days, but sometime a previous quick bugfix is not working as expected. Which was the case with previous release. There has been a few updates in this release....
Add and update tasks
Always verify, by --dry-run, the result of a new task before executing it. After adding the task, select it, in Add task view, select the checker flag will execute a --dry-run. A task require as minimum a local catalog and a remote catalog. Enter tasks Using the Enter key will advance to next field. The Enter key will automatically add a new task after last input. Or the checkmark icon on the toolbar will add a new task....
Synchronize data
Always verify, by --dry-run, the result of a new task before executing it. The easiest way to verify a task, select the task and then the shortcut 鈱楨 for estimate. The main task view lets you execute all or selected tasks in one go. A double click on a task wil execute a --dry-run, the next double click will execute the real run. The following are allowed shortcut actions: Estimate - 鈱楨 estimates all or selected tasks Synchronize - 鈱楻 synchronize all or selected tasks Abort - 鈱楰 abort and halt any ongoing task When RsyncUI starts it automatically open the main view....
Version 2.1.4
What is coming in version 2.1.4? Caution: This view might be overwelming for most users. There are too many details, and most users dont care as long as RsyncUI does what it is expected to do. But some nerds, like me, want more details on what is going on. RsyncUI creates commands for external execution. Almost all commands are dependent upon values in each configuration. In the example below there is set a global SSH-keypath and identityfile as well as SSH-port 22, which is default, but added just to test that RsyncUi picks it up....
Export and import
Tasks can be exported and imported between profiles and to new Macs. Choose File and Export and import. Export: select catalog and set name for export file. The export file is a JSON data file. Either selected tasks or all tasks might be exported to file. Import: as an example a new profile is created for importing tasks. Before import there are no tasks created. Import: select the exported JSON file for import....
Latest version of rsync
The default /usr/bin/rsync on macOS Sonoma and macOS Sequoia is not equal. Both seems to be version 2.6.9 protocol 29, but the licence is different. And there might also be some differences in code. There has been a lot of changes on rsync since version 2.6.9 was released. macos Sonoma, rsync is version 2.6.9 which was released in November 2006 macOS Sequoia, rsync is a version 2.6.9 compatible rsync, based on the BSD-licence the command /usr/bin/rsync --version displays openrsync: protocol version 29, rsync version 2....
Passwordless logins by ssh-keys
Using RsyncUI to synchronise data to a remote server requires what is called passwordless login by ssh-key. It is not possible to supply a user login and password in progress of synchronize data in RsyncUI. Before commencing to use RsyncUI to synchronize data to a remote server, it is required to setup and enable passwordless login by ssh-key. It is recommended to setup and enable this by terminal before using RsyncUI....
RsyncUI files
RsyncUI read and store configurations, log records and user settings as JSON files. The location of files is: $HOME/.rsyncosx/macserialnumber. RsyncUI 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 Log records $HOME/.rsyncosx/macserialnumber/logrecords.json If profile is utilized: $HOME/.rsyncosx/macserialnumber/profile/logrecords.json User settings The user settings are stored as: $HOME/.rsyncosx/macserialnumber/rsyncuiconfig.json The user settings applies to all profiles. The logfile The logfile is a text file and normally view within RsyncUI....
Snapshots
Utilizing snapshot is an effective method to restore old 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 a hardlink only to the original file....