Wie bereits im letzten Beitrag berichtet gibt es für die Popcorn hour A-200 das ipkg Paketverwaltungssystem. Darüber werden u.a. die Pakete rsync und synk bereitgestellt.
Rsync bietet die Synchronisierung von Datenbeständen an. Dabei kann Komprimierung genutzt werden. Darüber hinaus erfolgt ein Abgleich von Dateien auf Blockebene. Da nur unterschiedliche Böcke übertragen werden müssen ist rsync besonders effizient. Der wiederholte Abgleich eines Datenestands erfolgt deutlich schneller als mit üblichen Kopiermethoden. Die verhältnismäßig schwache CPU- und (W)LAN-Performance der Popcorn hour profitiert davon enorm.
Das Kommandozeilenwerkzeug rsync kann als Client und/oder Server betrieben werden. Auf der Popcorn hour steht rsync via ipkg zur Verfügung. Mit synk gibt es eine webbasierte GUI für die rsync Client Funktionalität. Das ipkg liefert keine Konfiguration für rsync als daemon mit. Unter Windows steht rsync via cywin als Kommandozeilenwerkzeug zur Verfügung und ist als direkt installierbares Bundle cwrsync erhältlich. Mit Deltacopy und Qtdsync gibt es aber auch eine komfortable GUI.

Installation rsync auf Popcorn hour
Zunächst einmal muß rsync, ggf. auch synk über ipkg installiert werden. Am einfachsten läuft das über die Webgui von ipkg: http://nmt:9999/local_web/

Danach muß noch unter /share/Apps/local/etc/init.d ein rc-Skript 99rsyncd.sh für den rsync daemon angelegt werden.
#!/bin/sh
# start script for rsync daemon
# 27.05.11 by Otmanix
# put it in /share/Apps/local/etc/init.d
# manpage rsyncd.conf
# http://www.samba.org/ftp/rsync/rsyncd.conf.html
# error free version of rsync for popcorn hour A200
# http://www.shells.nl/junk/nmt-a200-rsync/rsync.200
stop()
{
# kill rsync daemon
killall rsync
}
start()
{
# create/empty rsyncd.log
> /share/Apps/local/etc/rsyncd.log
# create user/password file
touch /etc/rsyncd.secrets
chown nmt:nmt /etc/rsyncd.secrets
chmod 660 /etc/rsyncd.secrets
echo nmt:nmt > /etc/rsyncd.secrets
# set folder permissions
chown nmt:nmt /share/Photo
chown nmt:nmt /share/Music
chown nmt:nmt /share/Video
# create /etc/rsyncd.conf
echo uid = nmt > /etc/rsyncd.conf
echo gid = nmt >> /etc/rsyncd.conf
echo use chroot = yes >> /etc/rsyncd.conf
echo log file = /share/Apps/local/etc/rsyncd.log >> /etc/rsyncd.conf
echo read only = false >> /etc/rsyncd.conf
echo max verbosity = 1 >> /etc/rsyncd.conf
echo timeout = 600 >> /etc/rsyncd.conf
echo [Photo] >> /etc/rsyncd.conf
echo path = /share/Photo >> /etc/rsyncd.conf
echo [Music] >> /etc/rsyncd.conf
echo path = /share/Music >> /etc/rsyncd.conf
echo [Video] >> /etc/rsyncd.conf
echo path = /share/Video >> /etc/rsyncd.conf
echo [share] >> /etc/rsyncd.conf
echo path = /share >> /etc/rsyncd.conf
echo list = false >> /etc/rsyncd.conf
echo auth users = nmt >> /etc/rsyncd.conf
echo secrets file = /etc/rsyncd.secrets >> /etc/rsyncd.conf
# start daemon
/usr/local/bin/rsync --daemon
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
esac
Das Skript erstellt eine /etc/rsync.conf. Weitere Konfigurationsoptionen daür findet man in der manpage.
Ich stelle mein Skript hier zum Download zur Verfügung: 99rsyncd.sh
Die zip-Datei bitte entpacken und unter /share/Apps/local/etc/init.d bzw. \\nmt\share\Apps\local\etc\init.d speichern. Nach einem Neustart der Popcorn hour startet der rsync daemon automatisch und stellt Schreibzugriff auf die Bereiche Photo, Music und Video bereit. Das übergeordnete Verzeichnis share ist nur über Anmeldung mit nmt/nmt zugreifbar.
Damit ist die Popcorn hour als Synchronisierungsziel eingerichtet. Nach Installation und Konfiguration von z.B. Deltacopy kann nun der Datenabgleich erfolgen.

P.S.
Als ich zuletzt rsync via ipkg besorgte stellte sich heraus, daß diese Version buggy war. Ein funktionierendes rsync binary gibt es hier. Die Datei muß unter /share/Apps/local/bin bzw. \\nmt\share\Apps\local\bin gespeichert werden. Dort zunächst die Datei rsync nach rsync.original umbenennen, danach rsync.200 nach rsync umbenennen. Im Anschluß Popcorn hour nochmals starten…
Prinzipiell sollte die Anleitung 1:1 auch für die Popcorn hour C-200 and A-210 funktionieren.