source: main/waeup-ansible/templates/borg-backup.sh.j2 @ 15932

Last change on this file since 15932 was 15926, checked in by uli, 5 years ago

Add script templates for borg backup.

File size: 2.1 KB
Line 
1#!/usr/bin/env bash
2
3##
4## This script was generated from template by ansible
5## based on:
6##   https://community.hetzner.com/tutorials/install-and-configure-borgbackup/de
7##   https://github.com/noplanman/ansible-role-borgbackup
8##
9
10##
11## Setzten von Umgebungsvariablen
12##
13
14## falls nicht der Standard SSH Key verwendet wird können
15## Sie hier den Pfad zu Ihrem private Key angeben
16# export BORG_RSH="ssh -i /home/userXY/.ssh/id_ed25519"
17
18## Damit das Passwort vom Repository nicht eingegeben werden muss
19## kann es in der Umgepungsvariable gesetzt werden
20. /root/backup/.borg_passphrase
21
22##
23## Setzten von Variablen
24##
25
26LOG="/var/log/borg/backup.log"
27
28{% for b in borgbackup_servers %}
29
30BACKUP_USER="{{ b.user  }}"
31REPOSITORY_DIR="{{ inventory_hostname_short }}"
32
33## Hinweis: Für die Verwendung mit einem Backup-Account muss
34## 'your-storagebox.de' in 'your-backup.de' geändert werden.
35
36REPOSITORY="ssh://{{ b.user }}@{{ b.fqdn }}:{{ b.port }}/./{{ b.home }}{{ b.pool }}/{{ inventory_hostname_short }}"
37
38##
39## Ausgabe in Logdatei schreiben
40##
41
42exec > >(tee -i -a ${LOG})
43exec 2>&1
44
45echo "###### Backup gestartet: $(date) ######"
46
47##
48## An dieser Stelle können verschiedene Aufgaben vor der
49## Übertragung der Dateien ausgeführt werden, wie z.B.
50##
51## - Liste der installierten Software erstellen
52## - Datenbank Dump erstellen
53##
54
55##
56## Dateien ins Repository übertragen
57## Gesichert werden hier beispielsweise die Ordner root, etc,
58## var/www und home
59## Ausserdem finden Sie hier gleich noch eine Liste Excludes,
60## die in kein Backup sollten und somit per default ausgeschlossen
61## werden.
62##
63
64echo "Übertrage Dateien ..."
65/usr/bin/borg create -v --stats          \
66    $REPOSITORY::'{now:%Y-%m-%d_%H:%M}'  \
67    {% for dir in borgbackup_include %}{{ dir }} {% endfor %} \
68    --exclude /dev                       \
69    --exclude /proc                      \
70    --exclude /sys                       \
71    --exclude /var/run                   \
72    --exclude /run                       \
73    --exclude /lost+found                \
74    --exclude /mnt                       \
75    --exclude /var/lib/lxcfs
76
77echo "###### Backup beendet: $(date) ######"
78
79{% endfor %}
Note: See TracBrowser for help on using the repository browser.