Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:ftplicity

Dies ist eine alte Version des Dokuments!


Verschlüsseltes Backup mit ftplicity

ftplicity ist ein Wrapper-Skript um duplicity, das vollständige und inkrementelle Backups erzeugen kann, die per GPG verschlüsselt werden.

Quellen

Installation

  • duplicity installieren:
# aptitude install duplicity
  • ftplicity laden, entpacken und ftplicity nach /usr/local/bin kopieren
  • ftplicity legt beim ersten Aufruf nicht das Konfigurationsverzeichnis /root/.ftplicity an, deshalb vor dem Aufruf von save_config folgende Zeile einfügen:
# vi /usr/local/bin/ftplicity
[...]
if [ ! -d "$CONFDIR" ]
then
  mkdir "$CONFDIR" || error "Konnte $CONFDIR nicht erstellen."
  save_config
  • Damit bei Verwendung von scp das Kennwort aus der Umgebungsvariablen FTP_PASSWORD zur Authentifizierung dient (und nicht, wie es eigentlich besser wäre, ein SSH-Key), muss beim Aufruf von duplicity noch die Option –ssh-askpass hinzugefügt werden:
# vi /usr/local/bin/ftplicity
[...]
        $DUPLICITY $cmd "$@" --encrypt-key $GPG_KEY \
           --sign-key $GPG_KEY --verbosity $VERBOSITY \
           --ssh-askpass

GPG

  • GPG-Schlüssel erzeugen (als „richtiger“ root per „su -“):
# gpg –-gen-key

Konfiguration

  • ftplicity aufrufen, um die Konfigurationsdatei zu erzeugen:
# ftplicity
  • Konfigurationsdatei anpassen:
# vi /root/.ftplicity/conf
[...]
GPG_KEY=...
GPG_PW='...'
[...]
TARGET='file:///private-backup/backup/tiger.disorganized.de/'
TARGET_PW='x'
[...]
MAXIMUM_AGE=1M
  • Folgende Dateien steuern den Ablauf von ftplicity;
    • /root/.ftplicity/exclude: Liste von Verzeichnissen und Dateimustern, die nicht gesichert werden sollen (rsync-Syntax)
    • /root/.ftplicity/pre: Kommandos, die vor dem Backup ausgeführt werden sollen
    • /root/.ftplicity/post: Kommandos, die nach dem Backup ausgeführt werden sollen
  • Exclude-Datei anlegen (nur nicht wieder herstellbare Dateien sichern, nicht das ganze Betriebssystem):
# vi /root/.ftplicity/exclude
**/*~
**/core
**/lost+found
/aquota.group
/aquota.user
/bin
/boot
/dev
/initrd
/lib
/media
/mnt
/opt
/private-backup
/proc
/sbin
/srv
/sys
/tmp
/usr
/var/cache
/var/lib/named/dev/*
/var/lock
/var/run
/var/tmp
  • Ziel-Verzeichnis anlegen:
# mkdir -p /private-backup/backup/tiger.disorganized.de
# chmod -R 700 /private-backup/backup

Erste Sicherung und Test

  • Erste Vollsicherung durchführen:
# ftplicity full
[...]
Errors 0
  • Restore testen:
# ftplicity fetch etc/passwd /tmp/passwd

Cron-Job

  • Cron-Job einrichten:
# crontab -e
# m h  dom mon dow   command

# Inkrementelles Backup um 5 Uhr morgens
00 5 * * * /usr/local/bin/ftplicity backup

# Vollbackup um 6 Uhr morgens an jedem ersten des Monats,
# veraltete Ketten loeschen
# Kommandos sollten eigentlich mit && verkettet werden!
00 6 1 * * /usr/local/bin/ftplicity full ; /usr/local/bin/ftplicity purge --force

Ausblick

  • Nachfolge-Projekt: duply
server/ftplicity.1266144316.txt.gz · Zuletzt geändert: 2010/02/14 11:45 von ewald