tschifftner.duplicity
Ansible Rolle: Duplicity installieren und konfigurieren
Installiert Duplicity aus dem Quellcode und verwaltet Backup-Aufgaben auf Debian/Ubuntu Linux-Servern.
Anforderungen
ansible 2.0+
Abhängigkeiten
Keine.
Installation
$ ansible-galaxy install tschifftner.duplicity
Beispiel-Playbook
Verfügbare Variablen sind unten aufgelistet, zusammen mit den Standardwerten (siehe defaults/main.yml
):
- hosts: webservers
vars:
# duplictity
duplicity_known_hosts:
- host: 'example.org'
key: 'example.org ssh-rsa AAAAB3NzaC...+PwAK+MPw=='
state: present
duplicity_config_vars:
FTP_SERVER: 'sftp://[email protected]/my/folder/'
FTP_PASSWORD: '*******'
DEFAULT_PARAMS: '--verbosity info --exclude-device-files --exclude-other-filesystems --exclude-if-present .duplicity-ignore'
duplicity_cronjobs:
- name: 'Bereinigung älter als 2 Monate'
user: root
group: root
source: /etc/duplicity/duplicity.conf
hour: 4
minute: 10
command: >
duplicity remove-older-than 2M --force --extra-clean $FTP_SERVER;
duplicity cleanup --force $FTP_SERVER
- name: 'Backup /var/www'
user: root
group: root
hour: 5
minute: 21
source: /etc/duplicity/duplicity.conf
command: duplicity $DEFAULT_PARAMS --include /var/www --full-if-older-than 1M --exclude '**' / $FTP_SERVER
roles:
- { role: tschifftner.duplicity }
Es wird empfohlen, alle Variablen in einer externen Datei zu speichern.
- hosts: webservers
vars_files:
- duplicity-settings.yml
roles:
- { role: tschifftner.duplicity }
Tipps
- Verwenden Sie
ssh-keyscan -t rsa example.org
, um den SSH-Schlüssel für einen Server zu erhalten (verwendet in der Variable duplicity_known_hosts). - Es ist möglich, Cronjobs in mehreren Zeilen zu schreiben. Dies kann jedoch zu Problemen mit der Idempotenz führen! Zum Beispiel:
command: >
duplicity remove-older-than 2M --force --extra-clean $FTP_SERVER;
duplicity cleanup --force $FTP_SERVER
Dies wird immer zu einer Änderung führen!
Duplicity-Variablen
duplicity_config_vars:
SERVER: 'ftp://[email protected]/backups/'
PASSPHRASE: 'IhrGeheimesPasswort'
FTP_PASSWORD: '*******'
PARAMS: '--verbosity info --exclude-device-files --exclude-other-filesystems --exclude-if-present .duplicity-ignore --exclude-filelist /etc/duplicity/exclude.list'
INCLUDES: '/root /home /var/www /var/backup'
GPG-Verschlüsselung
GPG-Verschlüsselung wird von dieser Rolle nicht unterstützt. Sie müssen sie manuell installieren.
GPG-Schlüsselpaar generieren
Um GPG-Schlüssel zu generieren, verwenden Sie den folgenden Befehl:
gpg --batch --gen-key <<EOF
%echo Generiere einen GPG-Schlüssel
Key-Type: RSA
Key-Length: 4096
Subkey-Type: RSA
Subkey-Length: 4096
Name-Real: Duplicity Backup
Name-Comment: Verwendet zur Backup-Verschlüsselung
Name-Email: duplicity@localhost
Expire-Date: 0
Passphrase: DiesSollteIhrPersönlichesEinzigartigesPasswortSein
%commit
%echo Fertig
EOF
Öffentlichen Schlüssel exportieren
gpg --output FB37DF3B.public.asc --armor --export FB37DF3B
Eigentümervertrauen exportieren
gpg --export-ownertrust > ownertrust.txt
Privaten Schlüssel exportieren
gpg --output FB37DF3B.private.asc --armor --export-secret-key FB37DF3B
Bekannte Hosts
Um Hosts als bekannte Hosts zu markieren
duplicity_known_hosts:
- host: 'ftp.example.com'
key: 'ftp.example.com ssh-rsa AAAAB3NzaC1yc2[...]+MPw=='
state: 'present'
Wenn Sie sicher sind, dass Ihr System es unterstützt, können Sie auch ecdsa und ed25519 Schlüssel verwenden.
ssh-keyscan -t ecdsa ftp.example.com
ssh-keyscan -t ed25519 ftp.example.com
Duptools
Duptools ist ein Hilfsskript zur Verwaltung von Backups. Es wird standardmäßig installiert, kann aber mit duplicity_install_duptools: false
deaktiviert werden.
Duptools ausführen
Geben Sie einfach duptools
in die Kommandozeile ein, um die verfügbaren Optionen anzuzeigen:
duptools - verwaltet Duplicity-Backups
VERWENDUNG:
duptools backup
duptools list
duptools status
duptools restore datei [zeit] ziel
duptools remove [zeit]
[zeit]
a) jetzt
b) 2002-01-25T07:00:00+02:00
c) D=Tage, W=Wochen, M=Monate, Y=Jahre, h=Stunden, m=Minuten, s=Sekunden
Unterstützte Betriebssysteme
- Debian 9 (Stretch)
- Debian 8 (Jessie)
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 16.04 (Xenial Xerus)
Erforderliche Ansible-Version
Ansible 2.5+
Lizenz
Autor Informationen
TODO
- Beheben Sie die Neuinstallation und die Installation einer anderen Version. Derzeit wird die Datei /usr/local/bin/duplicity nicht überschrieben und pip deinstalliert nicht duplicity.
Installs duplicity from source and handles backup tasks on Debian/Ubuntu linux servers.
ansible-galaxy install tschifftner.duplicity