Das Backup für PCs und Laptops macht Backuppc sehr fein, aber für die Root-Server braucht es eine andere Lösung.
Duplicity macht gpg-verschlüsselte Backups und unterstützt die unterschiedlichsten Endpunkte wie ftp, rsync, scp, ssh, webdav[s] und auch Amazon S3. Hier mein Mini-Bash-Skript mit dem ich meine Server dorthin sichere:
#!/bin/bash BDIRS="/etc /home /" LOGDIR='/var/log/duplicity' BAC="s3+http://ihr_bucket_name.s3.amazonaws.com" # symmetrische verschluesselung fuer gpg export PASSPHRASE='einelangeschwierigepassphrase' export AWS_SECRET_ACCESS_KEY="amazon_aws_secret_access_key" export AWS_ACCESS_KEY_ID="amazon_aws_access_key" ##### end of config ########## BCLIENT=$(hostname); for FULL_DIR in $BDIRS do DIR=$(basename $FULL_DIR) if [ $DIR == "/" ] then DIR="root" fi EXCLUDELIST="/usr/local/etc/duplicity-exclude-$DIR.conf" if [ -f $EXCLUDELIST ]; then EXCLUDE="--exclude-filelist $EXCLUDELIST" else EXCLUDE='' fi duplicity remove-older-than 60D -v3 --force $BAC/$BCLIENT_$DIR >> $LOGDIR/$DIR.log duplicity --full-if-older-than 30D -v3 $EXCLUDE $FULL_DIR $BAC/$BCLIENT-$DIR >> $LOGDIR/$DIR.log done export PASSPHRASE="" export AWS_SECRET_ACCESS_KEY="" export AWS_ACCESS_KEY_ID="" exit 0
Das Skript entstand in Anlehnung an ein Backup-Skript von Hetzner, wobei ich es noch weiter vereinfacht und auf S3 umgestellt habe. Backups werden 60 Tage aufbewahrt, wobei alle 30 Tage ein volles Backup gemacht wird. In den Zeilen 3 bis 9 sind die entsprechenden Anpassungen zu machen. Aufgerufen wird das Skript jede Nacht von cron:
root@yourhost:/root $ cat /etc/cron.d/duplicity # /etc/cron.d/duplicity: crontab fragment for backup # backup at 4 in the morning 55 3 * * * root /usr/local/sbin/backup.sh >/dev/null 2>&1 root@yourhost:/root $