1.8 KiB
Rsync Manager for macOS
Native SwiftUI rsync job manager for macOS 14+.
Features
- Persistent saved sync jobs using SwiftData
- Create, edit, duplicate and delete jobs
- Local/mounted-volume destinations
- SSH remote destinations with custom port and SSH key
- Archive, compression, delete, permissions and extended-attribute options
- One-exclusion-per-line rules
- Additional custom rsync arguments
- Dry-run mode
- Run on demand
- Live rsync output
- Cancel active job
- Permanent run history with full command/stdout/stderr/exit code
- Warning before a live
--deleterun - Automatically prefers
/opt/homebrew/bin/rsync, then/usr/local/bin/rsync, then/usr/bin/rsync
Open and run
Open RsyncManager.xcodeproj in Xcode and press Run.
The app deliberately has App Sandbox disabled because a general rsync utility needs to execute rsync/ssh and access arbitrary source/destination paths. Hardened Runtime remains enabled.
For a current rsync on Apple Silicon:
brew install rsync
SSH authentication works with your normal OpenSSH configuration and keys. If no SSH key is specified on a job, ssh uses its normal configuration in ~/.ssh/config.
macOS requirement
macOS 14 or later (SwiftData).
Automation
Rsync Manager supports per-job scheduling (once, hourly, daily, weekly, monthly and custom minute intervals), a month calendar/agenda, and FSEvents-based file watching. Scheduled and watch-triggered runs are silent and always written to History with their trigger source.
Background automation remains active while the application is running, including when its window is minimised, hidden or closed. The Automation settings include a native macOS Launch at Login option so the scheduler and watchers are available after sign-in. Quitting the application stops its in-process scheduler/watchers until it is launched again.