Um den rsync Dienst unter Mac OSX zu starten sind folgende Schritte nötig:
Zuerst wird die Datei rsync.plist im Verzeichnis /Library/LaunchDaemons mit folgendem Inhalt angelegt:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>Label</key> <string>rsync</string> <key>Program</key> <string>/usr/bin/rsync</string> <key>ProgramArguments</key> <array> <string>/usr/bin/rsync</string> <string>--daemon</string> </array> <key>inetdCompatibility</key> <dict> <key>Wait</key> <false/> </dict> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>rsync</string> <key>SockType</key> <string>stream</string> </dict> </dict> </dict> </plist>
Dann die Rechte korrekt setzen:
sudo chown root:wheel /Library/LaunchDaemons/rsync.plist
Die Datei /etc/rsyncd.conf anlegen (Beispiel):
uid = nobody gid = nobody use chroot = yes read only = true transfer logging = true log format = %n %o %f %l %b log file = /var/log/rsyncd.log syslog facility = local5 pid file = /var/run/rsyncd.pid [ftp] path = /var/ftp/./pub comment = whole ftp area (approx 6.1 GB) list = true read only = true [cvs] path = /data/cvs comment = CVS repository (requires authentication) auth users = tridge, susan secrets file = /etc/rsyncd.secrets ...
Der Daemon wird dann per
sudo launchctl load -w /Library/LaunchDaemons/rsync.plist
gestartet ohne den Rechner neu booten zu müssen. Nach einem Neustart steht der rsync Dienst dann standardmässig zur Verfügung.
Eine Änderung der rsyncd.conf hat direkte Auswirkungen, das heisst, der Daemon muss nicht neu gestartet werden. Damit ist es also möglich von einem entfernten Rechner mittels
rsync -rtv --progress <host>::ftp /Users/xyz/synced/ftp
Dateien zu synchronisieren.
Quellen: http://samba.anu.edu.au/ftp/rsync/rsyncd.conf.html, http://uucode.com/blog/2008/11/11/rsync-server-on-mac-os-x/