sommermann.com

Grafik, Webdesign, Fotografie, Programmierung, Architekturen

rsync mit Mac OSX

Geschrieben von tso Datum: 11.Mrz.2009

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/

Kategorien: Mac OS X