Met WebAdmin van de hosting provider kan ik dagelijks een script aan laten roepen (via cron). Dit script bevat een rsync commando welke alle wijzigingen dagelijks om 12:00 naar een beveiligd deel van de NAS server worden gestuurd. Waarna om 13:00 weer een backup van de NAS start. Een uur is voldoende omdat alleen de wijzigingen overgehaald worden. Het script rsync_backup op de webserver bevat het volgende:
$ rsync -av --delete . rsync://arjan.xs4all.nl/external/
De NAS is dus via rsync (port 873/TCP) bereikbaar, maar alleen bepaalde ip nr’s staan in de allowed list van rsync. Ook is het nog eens een beveiligd gedeelte van de NAS en is er geen toegang tot de rest van de NAS. /etc/rsyncd.conf bevat het volgende:
# rsyncd.conf
uid = arjan
gid = users
use chroot = yes
max connections = 5
syslog facility = local3
pid file = /var/run/rsyncd.pid
secrets file = /opt/etc/rsyncd.secrets
[nas]
path = /opt
comment = Rietveld NAS
read only = yes
hosts allow = 192.168.1.2
hosts deny = *
[external]
path = /opt/WebsiteBackup
comment = Rietveld External access
read only = no
hosts allow = 192.168.1.2, <ip nr van website>
hosts deny = *
Er kan nu een backup gemaakt worden, door met ssh op de website in te logen en het ~/rsync_backup aan te roepen.