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
Tags » , , , «

Autor:
Datum: Donnerstag, 26. April 2012 13:00
Trackback: Trackback-URL Themengebiet: Linux

Feed zum Beitrag: RSS 2.0 Diesen Artikel kommentieren

Kommentar abgeben

*