Zum Inhalt springen

Duply/Konfiguration: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „line>“ durch „line copy>“
 
Zeile 8: Zeile 8:


; Beispiel
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
duply humbug backup
duply humbug backup
</syntaxhighlight>
</syntaxhighlight>
Zeile 19: Zeile 19:


; Beispiel
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
duply ~/.duply/humbug backup
duply ~/.duply/humbug backup
</syntaxhighlight>
</syntaxhighlight>


=== Profil erstellen ===
=== Profil erstellen ===
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo duply <backupname> create
sudo duply <backupname> create
</syntaxhighlight>
</syntaxhighlight>
Zeile 42: Zeile 42:
==== Voraussetzung ====
==== Voraussetzung ====
Key-ID und das Passwort des GnuPG-Keys müssen dafür hinterlegt werden
Key-ID und das Passwort des GnuPG-Keys müssen dafür hinterlegt werden
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 50: Zeile 50:
==== Key-ID anzeigen ====
==== Key-ID anzeigen ====
; Private-Key
; Private-Key
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo gpg --list-secret-keys --keyid-format LONG
sudo gpg --list-secret-keys --keyid-format LONG
gpg: "Trust-DB" wird überprüft
gpg: "Trust-DB" wird überprüft
Zeile 73: Zeile 73:


===Kompression und Kryptografie ===
===Kompression und Kryptografie ===
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 89: Zeile 89:


; Aktiviert
; Aktiviert
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 95: Zeile 95:


; Deaktiviert
; Deaktiviert
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 104: Zeile 104:


Allgemeine Syntax des hosts
Allgemeine Syntax des hosts
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
scheme://[user:password@]host[:port]/[/]path
scheme://[user:password@]host[:port]/[/]path
</syntaxhighlight>
</syntaxhighlight>
Zeile 112: Zeile 112:


In der conf-Datei befindet sich meistens eine Liste der wichtigsten unterstützten Protokolle und deren Syntax
In der conf-Datei befindet sich meistens eine Liste der wichtigsten unterstützten Protokolle und deren Syntax
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
file://[/absolute_]path
file://[/absolute_]path
ftp[s]://user[:password]@other.host[:port]/some_dir
ftp[s]://user[:password]@other.host[:port]/some_dir
Zeile 135: Zeile 135:


; Ziel des Backups
; Ziel des Backups
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
TARGET='scheme://user[:password]@host[:port]/[/]path'
TARGET='scheme://user[:password]@host[:port]/[/]path'
</syntaxhighlight>
</syntaxhighlight>


Es soll das Protokoll '''ssh''' zur Datenübertragung genutzt werden
Es soll das Protokoll '''ssh''' zur Datenübertragung genutzt werden
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 148: Zeile 148:
* Port: '''22'''
* Port: '''22'''
* Pfad: '''home/user/backup_PC1'''
* Pfad: '''home/user/backup_PC1'''
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
  TARGET='<nowiki>ssh://user:KohlIstKrempe969@foxtom.net:22/home/user/backup_PC1</nowiki>'
  TARGET='<nowiki>ssh://user:KohlIstKrempe969@foxtom.net:22/home/user/backup_PC1</nowiki>'
</syntaxhighlight>
</syntaxhighlight>
Zeile 154: Zeile 154:
; Quelle des Backups
; Quelle des Backups
Root-Verzeichnis für das Backup setzen
Root-Verzeichnis für das Backup setzen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
  SOURCE=
  SOURCE=
</syntaxhighlight>
</syntaxhighlight>


Soll ein Backup aus mehreren Unterordnern von '''/''' bestehen (Bsp.: /etc /var /home sollen gesichert werden), so muss die SOURCE Variable auf '''/''' gesetzt werden.''
Soll ein Backup aus mehreren Unterordnern von '''/''' bestehen (Bsp.: /etc /var /home sollen gesichert werden), so muss die SOURCE Variable auf '''/''' gesetzt werden.''
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
  SOURCE='/'
  SOURCE='/'
</syntaxhighlight>
</syntaxhighlight>
Zeile 173: Zeile 173:
Mit '''MAX_AGE''' wird das maximale Alter von Backups bestimmt
Mit '''MAX_AGE''' wird das maximale Alter von Backups bestimmt
Das älteste Backup soll maximal ein Jahr alt sein
Das älteste Backup soll maximal ein Jahr alt sein
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 182: Zeile 182:


Es sollen fünf sein
Es sollen fünf sein
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 191: Zeile 191:


Es soll zwei Wochen alt sein
Es soll zwei Wochen alt sein
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 214: Zeile 214:
;Beispiel
;Beispiel
Backup-Pakete sollen 10 MB groß sein
Backup-Pakete sollen 10 MB groß sein
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 226: Zeile 226:


Asynchrone Uploads aktivieren
Asynchrone Uploads aktivieren
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>


Zeile 266: Zeile 266:


; Beispiel
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>



Aktuelle Version vom 11. Mai 2025, 13:40 Uhr

Profil

Angegeben durch einen Pfad oder einen Profilnamen (<profile>), der zu '~/.duply/<profile>' aufgelöst wird (~ wird zur Umgebungsvariable $HOME erweitert)

  • Der Superuser root kann Profile unter '/etc/duply' ablegen
  • Erstellen Sie einfach den Ordner manuell, bevor Sie duply als Superuser ausführen
Hinweis
Bereits vorhandene Profile im Home-Ordner von root funktionieren nicht mehr, sofern sie nicht manuell an den neuen Speicherort verschoben werden
Beispiel
duply humbug backup

Alternativ kann ein _Pfad_ verwendet werden, z.B. für schnelle Tests, Wiederherstellungen oder exotische Speicherorte

  • Die Shell-Erweiterung sollte wie gewohnt funktionieren
Hinweis
Der Pfad muss mindestens ein Pfadtrennzeichen '/' enthalten, z.B. './test' statt nur 'test'
Beispiel
duply ~/.duply/humbug backup

Profil erstellen

sudo duply <backupname> create

Duply-Profil

Ein duply-Profil wird im Home-Verzeichnis des Benutzers unter ~/.duply/ angelegt und besteht aus den folgenden Dateien

  • gpg-key.asc (nur wenn ein gpg-key exportiert wurde)
  • conf
  • pre und post
  • exclude

Kryptografie

Kryptografie einrichten

Kryptografie

GnuPG-Schlüssel erstellen

Voraussetzung

Key-ID und das Passwort des GnuPG-Keys müssen dafür hinterlegt werden

GnuPG_KEY='_GnuPG_KEY_ID_'
GnuPG_PW='_GnuPG_PASSWORD_'

Key-ID anzeigen

Private-Key
sudo gpg --list-secret-keys --keyid-format LONG
gpg: "Trust-DB" wird überprüft
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: Tiefe: 0 gültig: 1 signiert: 0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u
gpg: nächste "Trust-DB"-Pflichtüberprüfung am 2021-11-04
/root/.gnupg/pubring.kbx
------------------------
sec rsa4096/F47E1B7450082D11 2020-11-04 [SC] [verfällt: 2021-11-04]
60E3D3C9ED78CE4A40322BBAF47E1B7450082D11
uid [ ultimativ ] Robert Quies (Es grünt so grün, wenn Spaniens Blüten blühn.) <raqju@web.de>
ssb rsa4096/B2E20485FF7FC772 2020-11-04 [E] [verfällt: 2021-11-04]

sudo gpg --list-keys --keyid-format LONG
/root/.gnupg/pubring.kbx
------------------------
pub rsa4096/F47E1B7450082D11 2020-11-04 [SC] [verfällt: 2021-11-04]
60E3D3C9ED78CE4A40322BBAF47E1B7450082D11
uid [ ultimativ ] Robert Quies (Es grünt so grün, wenn Spaniens Blüten blühn.) <raqju@web.de>
sub rsa4096/B2E20485FF7FC772 2020-11-04 [E] [verfällt: 2021-11-04]

Kompression und Kryptografie

GnuPG_OPTS

Optionen zur Kompression und Art der Kryptografie

  • bzip2 komprimiert
  • Advanced Encryption Standard, auch Rijndael-Algorithmus mit einer Schlüssellänge von 256 werden
GnuPG_OPTS='--compress-algo=bzip2 --personal-cipher-preferences AES256'

Prüfen der GnuPG-Key und GnuPG-Passphrase

De-/Aktivieren der Überprüfung GnuPG-Key und GnuPG-Passphrase
  • duply prüft vor jeder Aktion ob der GnuPG-Key gültig ist und die Passphrase korrekt ist
  • Dies kann durch die Option GnuPG_TEST='disabled' unterbunden werden
Aktiviert
GnuPG_TEST='disabled'
Deaktiviert
# GnuPG_TEST='disabled'

Ziel und Quelle

Ziel und Quelle des Backups

Allgemeine Syntax des hosts

scheme://[user:password@]host[:port]/[/]path
Protokolle und Syntax zur Datenübertragung

duply versteht alle gängigen Protokolle zur Datenübertragung

In der conf-Datei befindet sich meistens eine Liste der wichtigsten unterstützten Protokolle und deren Syntax

file://[/absolute_]path
ftp[s]://user[:password]@other.host[:port]/some_dir
hsi://user[:password]@other.host/some_dir
cf+<nowiki>https://container_name</nowiki>
imap[s]://user[:password]@host.com[/from_address_prefix]
rsync://user[:password]@other.host[:port]::/module/some_dir
rsync over ssh (only keyauth)
rsync://user@other.host[:port]/relative_path
rsync://user@other.host[:port]//absolute_path
for the s3 user/password are AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY
s3://[user:password]@host/bucket_name[/prefix]
s3+https://[user:password]@bucket_name[/prefix]
scp and sftp are aliases for the ssh backend
ssh://user<nowiki>&lt;/nowiki&gt;</nowiki>[:password]@other.host[:port]/some_dir
tahoe://alias/directory
webdav[s]://user[:password]@other.host/some_dir
Hinweis
Sonderzeichen müssen urlencoded eingetragen werden, außer bei den Parametern TARGET_USER, TARGET_PASS
Ziel des Backups
TARGET='scheme://user[:password]@host[:port]/[/]path'

Es soll das Protokoll ssh zur Datenübertragung genutzt werden

  • Username: user
  • Passwort: KohlIstKrempe969
  • Host: foxtom.net
  • Port: 22
  • Pfad: home/user/backup_PC1
 TARGET='<nowiki>ssh://user:KohlIstKrempe969@foxtom.net:22/home/user/backup_PC1</nowiki>'
Quelle des Backups

Root-Verzeichnis für das Backup setzen

 SOURCE=

Soll ein Backup aus mehreren Unterordnern von / bestehen (Bsp.: /etc /var /home sollen gesichert werden), so muss die SOURCE Variable auf / gesetzt werden.

 SOURCE='/'

In der Regel wird SOURCE='/' gesetzt

Dateien, die in die Sicherung aufgenommen oder von ihr ausgeschlossen werden, werden in der Datei exclude angegeben

Maximales Alter eines Backups

Hinweis
duply löscht keine Backups, sofern man es nicht anfordert

Mit MAX_AGE wird das maximale Alter von Backups bestimmt Das älteste Backup soll maximal ein Jahr alt sein

MAX_AGE=1Y

Anzahl der vollständigen Backups

Mit MAX_FULL_BACKUPS kann bestimmt werden, wie viele Full-Backups duply maximal behält

Es sollen fünf sein

MAX_FULL_BACKUPS=5

Maximales Alter der vollständigen Backups

Alternativ kann mit MAX_FULLBKP_AGE spezifiert werden, wie alt ein Full-Backup sein darf, bevor ein neues Full-Backup erstellt wird

Es soll zwei Wochen alt sein

MAX_FULLBKP_AGE=2W
DUPL_PARAMS="$DUPL_PARAMS --full-if-older-than $MAX_FULLBKP_AGE"

Größe der Backup-Pakete

Um den durch eventuelle Übertragungsfehler entstehenden Zeitverlust einzuschränken, teilt duply standardmäßig seine Backups in 25 MB große Dateien

  • Mit VOLSIZE kann die Größe der erstellten Backup-Pakete geändert werden

Der gewünschte Wert hängt von verschiedenen Faktoren ab

  • Übertragungsgeschwindigkeit
  • Systembelastung
  • Netzwerkbelastung

Vor-/Nachteile

  • Vorteil kleine Pakete
  • Vorteil große Pakete
  • Nachteil kleine Pakete
  • Nachteil große Pakete
Beispiel

Backup-Pakete sollen 10 MB groß sein

VOLSIZE=10
DUPL_PARAMS="$DUPL_PARAMS --volsize $VOLSIZE"

Asynchrone Uploads

Asynchrone Uploads erlauben das Erstellen neuer Archive, bevor bereits erstellte auf den Server geladen wurden

  • Schnelleres Backup
  • Hohe System- und hohe Netzlast

Asynchrone Uploads aktivieren

DUPL_PARAMS="$DUPL_PARAMS --asynchronous-upload"

Dateien

Profile folder

Profile files

Option Beschreibung
/etc/duply
~/.duply/<profile>
conf profile configuration file
pre,post pre/post scripts (see above for details)
gpgkey.*.asc exported GnuPG key files
exclude a globbing list of included or excluded files/folders (see "duplicity manpage", section FILE SELECTION)

SEPARATORS

Option Beschreibung
_ underscore neutral separator
+ plus sign, _and_ conditional AND the next command will only be executed if the previous succeeded
- minus sign, _or_ conditional OR the next command will only be executed if the previous failed
[ ] square brackets, _groupIn_/_groupOut_ enables grouping of commands
Beispiel
'pre+[bkp-verify]_post'

translates to

'pre_and_groupIn_bkp_or_verify_groupOut_post'

TIME FORMATS

For all time related parameters like age, max_age und weitere Refer to the duplicity manpage for all available formats

Beispiele
Option Beschreibung
2002-01-25T07:00:00+02:00 full date time format string
2002/3/5 date string YYYY/MM/DD
12D interval, 12 days ago
1h78m interval, 1 hour 78 minutes ago