๐ฆ Manual Install & Start
cd /path/to/rsync-gui
npm install
npm start
Access at http://localhost:3000
๐ Copy SSH Key to Remote Server
Replace port and username@server with your details
๐ Connect to Remote Server
The port is specified with -p, not a colon. To avoid typing it every time, add the server to ~/.ssh/config:
Host server.com
User username
Port 60437
Then just use: ssh server.com
๐ Auto-Start Service (launchd)
First, create the plist file:
nano ~/Library/LaunchAgents/com.rsync-gui.plist
Paste this content (adjust paths to match your setup):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
<key>Label</key><string>com.rsync-gui</string>
<key>WorkingDirectory</key>
<string>/path/to/rsync-gui</string>
<key>ProgramArguments</key><array>
<string>/usr/local/bin/node</string>
<string>server.js</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
</dict></plist>
Save with Ctrl+O, exit with Ctrl+X. Then manage with:
# Load (start) the service
launchctl load ~/Library/LaunchAgents/com.rsync-gui.plist
# Unload (stop) the service
launchctl unload ~/Library/LaunchAgents/com.rsync-gui.plist
# Check status
launchctl list | grep rsync
๐ View Logs
tail -f /path/to/rsync-gui/logs/output.log
tail -f /path/to/rsync-gui/logs/error.log
๐ง Find Node Path
which node
Use this path in your launchd plist file
๐ Remote Path Trailing Slash
Remote paths should end with a trailing / to copy the contents of the folder.
โ
/opt/FileMaker/Data/Backups/
โ /opt/FileMaker/Data/Backups
Without the trailing slash, rsync copies the folder itself into the destination, creating a nested duplicate (e.g. Backups/Backups/).