RsyncUI - a GUI for rsync
RsyncUI is a pure SwiftUI based macOS application, built for macOS Sonoma, 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.0.0 (build 101) - work in progress Date: 26 July 2024 The work on adapting RsyncUI to the new concurrency model of Swift 6 is complete. There was one external source file, John Sundell’s Files. It caused some issues with adapting to the concurrency model....
Add and update tasks
Always verify, by --dry-run, the result of a new task before executing it. 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 Return icon on the toolbar will add a new task. Tasks are saved to permanent storage after each entry. Update To update a task, select the task and to save changes, select the Return icon on the toolbar or use the Enter key....
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 ⌘E 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 - ⌘E estimates all or selected tasks Synchronize - ⌘R synchronize all or selected tasks Abort - ⌘K abort and halt any ongoing task When RsyncUI starts it automatically open the main view....
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 RsyncUI. It is adviced to install rsync as part of Homebrew. In RsyncUI select user configuration and set path for optional version of rsync....
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 configuration 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....
RsyncUI settings
There are a few settings to be tweaked. Settings are saved to permanent store. Usersettings might be opened by the default shortcut ⌘,. Rsync and path - rsync and path settings Monitor and log - monitor and log settings Ssh - SSH settings Environment - set environment variables for ssh, there are a few variables to set, RsyncUI only support one environment variable The Info shows version of rsync in use and the path for storing and reading configurations to permanent store....
Monitor and log
Settings are automatically saved when changed. Monitor network, error and log settings Monitor network monitor the network connection during execution of tasks if a network connection is dropped during execution, RsyncUI sends an interrupt signal to the task and it halts with an error Check for error in output if the word error is discovered in output from rsync it is notified se below Add summary logrecord by default on, a summary only of each synchronization is added to the logrecords, view Log Listings from Sidebar Log summary logfile...