Rsync Backup-Server mit Authentifizierung
Rsync ist ein geniales kleines Programm, mit dem man unter *nix-Systemen wunderbar einfach und schnell Backups erstellen kann. Und das beste: Das funktioniert nicht nur lokal sondern auch übers Netz. Und: Das gibt’s sogar für Windows. Ich benutze es, um lokale Backup-Ordner meiner Kunden mit meinem Backup-Server im Rechenzentrum synchron zu halten. Wenn man so etwas übers Netz macht, dann sollte man das natürlich ein wenig absichern. Wenn man das ganz sicher haben will, dann benutzt man SSH, um die Kommunikation zu tunneln. Aber ich beschränke mich in diesem Beispiel mal auf die einfache Variante, bei der die Zugangsdaten dann leider auch im Klartext übertragen werden.
Hier die /etc/rsyncd.conf
auf meinem Backup-Server (Gentoo Linux)
# /etc/rsyncd.conf # Minimal configuration file for rsync daemon # See rsync(1) and rsyncd.conf(5) man pages for help # This line is required by the /etc/init.d/rsyncd script pid file = /var/run/rsyncd.pid use chroot = yes read only = yes # Simple example for enabling your own local rsync server #[gentoo-portage] # path = /usr/portage # comment = Gentoo Portage tree # exclude = /distfiles /packages [customer] path = /var/backup-data/customer comment = Kunden-Backup read only = no hosts allow = 1.2.3.4 uid = 1234 gid = 1111 auth users = customer-user secrets file = /etc/rsyncd.secrets transfer logging = yes
Und so sieht die /etc/rsyncd.secrets
aus:
customer-user:password
Ganz wichtig für die /etc/rsyncd.secrets
ist, dass sie nicht von zu vielen Usern gelesen werden kann. Sonst streikt rsync nämlich. Also machen wir ein
~ # chmod 600 /etc/rsyncd.secrets
Zum Schluß muß der Rsync-Dienst natürlich noch gestartet werden und bei jedem Systemstart wieder gestartet werden:
~ # /etc/init.d/rsyncd start ~ # rc-update add rsyncd default
Nicht vergessen: Der Port TCP:873 muss auf der Firewall geöffnet werden.
Ein Skript auf einem Windows-Client könnte dann so aussehen:
@SET RSYNC_PASSWORD=password rsync -r -v --inplace --partial --progress --delete -h --times /cygdrive/S/backup/ rsync://customer-user@backup.server.de/customer @rem @PAUSE