Zum Inhalt springen

Duply: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „line>“ durch „line copy>“
 
(150 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:duply}}
'''duply''' - [[Inkrementell]]e [[verschlüsselt]]e [[Backup]]s
'''duply''' erstellt inkrementelle verschlüsselte Backups


== Beschreibung ==
== Beschreibung ==
* Frontend für [https://de.wikipedia.org/wiki/Duplicity_(Software) duplicity]
; Frontend für [[duplicity]]
Shell-Frontend für [[duplicity]]
* Verwendung vereinfachen
* Einstellungen in Profilen verwalten
* Stapelverarbeitung
** Es unterstützt die Ausführung von mehreren Befehlen als Stapelverarbeitung
** Damit sind einzeilige cron-Einträge möglich und der Benutzer kann Skripte verwenden, die vor oder nach dem Backup ausgeführt werden
* Alle duplicity-Backends werden unterstützt
 
; Vereinfacht die Ausführung von Duplicity
Frontend für [[duplicity]]
* Backups können lokal oder einem anderen System gespeichert werden
* Backups können lokal oder einem anderen System gespeichert werden
Unterstützte Protokolle
* Cron oder Kommandozeile
* ftp
* Speichert Einstellungen in Profilen
* ssh
* Batch-Operationen
* s3
*: ermöglicht, beispielsweise backup_verify+purge
* rsync
* Ausführung von Pre-/Post-Skripten
* cifs
* verschiedene Aktionen möglich, abhängig vom vorherigen oder nächsten Befehl oder dessen Rückgabewert
* webdav
* Vorbedingungsprüfung für fehlerfreie Duplizitätsoperationen
* http


== Installation ==
Für jeden Sicherungsauftrag wird ein Konfigurationsprofil erstellt
# apt install duply


== Syntax ==
; Profilordner
=== Parameter ===
<syntaxhighlight lang="bash" highlight="1" line copy>
=== Optionen ===
~/.duply/<profile>
=== Umgebungsvariablen ===
</syntaxhighlight>
=== Exit-Status ===


== Konfiguration ==
; Hinweis
=== Verschlüsselung konfigurieren ===
: Wenn der Ordner '/etc/duply' existiert, werden die Profile für den Superuser Benutzer root dort gesucht und erstellt werden
==== Schlüssel erstellen ====
siehe [[GPG#Schl.C3.BCssel_erstellen|GPG]]


=== Profil erstellen ===
; Protokolle
# duply <backupname> create
{| class="wikitable options big"
! Protokoll !! Beschreibung
|-
| [[ftp]] ||
|-
| [[ssh]] ||
|-
| [[s3]] ||
|-
| [[rsync]] ||
|-
| [[cifs]] ||
|-
| [[webdav]] ||
|-
| [[http]] ||
|}


Ein duply-Profil wird im Home-Verzeichnis des Benutzers unter '''~/.duply/''' angelegt und besteht aus den folgenden Dateien:
== Installation ==
* gpg-key.asc (nur wenn ein gpg-key exportiert wurde.)
<syntaxhighlight lang="bash" highlight="1" line copy>
* conf
sudo apt install duply
* pre und post
</syntaxhighlight>
* exclude


=== Konfiguration ===
=== Dateien ===
==== Verschlüsselung einrichten====
; /usr/bin/
=====Voraussetzung=====
duply
Key-ID und das Passwort des GPG-Keys müssen dafür hinterlegt werden.


  GPG_KEY='_GPG_KEY_ID_'
; /usr/share
GPG_PW='_GPG_PASSWORD_'
  /doc/duply/
  README
  README.Debian
  TODO
  changelog.Debian.gz
  changelog.gz
  copyright
  systemd-unit.examples
  HOWTO.txt
  systemd-unit.examples/system/
    duply-backup@.service
    duply-backup@.timer
    duply-cleanup@.service
    duply-cleanup@.timer
    duply-verify@.service
    duply-verify@.timer
    notify-failed-backup@.service
  systemd-unit.examples/user/
    duply-backup@.service
    duply-backup@.timer
    duply-cleanup@.service
    duply-cleanup@.timer
    duply-verify@.service
    duply-verify@.timer
    notify-failed-backup@.service
  man/man1/
  duply.1.gz


=====Key-ID anzeigen lassen=====
== Aufruf ==
Private-Key
=== Argumente ===
gpg --list-secret-keys --keyid-format LONG
=== Optionen ===
 
{| class="wikitable options"
Konsole
|-
# gpg --list-secret-keys --keyid-format LONG
! Option !! Beschreibung
gpg: "Trust-DB" wird überprüft
|-
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
| --force || passed to duplicity (see commands purge, purgeFull, purgeIncr, cleanup)
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
| --preview || do nothing but print out generated duplicity command lines
/root/.gnupg/pubring.kbx
|-
------------------------
| --disable-encryption || disable encryption, overrides profile settings
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]
 
Public-Key
# gpg --list-keys --keyid-format LONG
 
Konsole
# 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 Art der Verschlüsselung festlegen====
Zusätzlich können in '''GPG_OPTS=''' weitere Optionen zur Kompression und Art der Verschlüsselung gesetzt werden.
*Es soll mit dem freien Komprimierungsprogramm '''bzip2''' komprimiert werden und dem symmetrischen Verschlüsselungsverfahren '''A'''dvanced '''E'''ncryption '''S'''tandard, auch Rijndael-Algorithmus genannt, mit einer Schlüssellänge von '''256''' verschlüsselt werden.
GPG_OPTS='--compress-algo=bzip2 --personal-cipher-preferences AES256'
 
==== De-/Aktivieren der Überprüfung GPG-Key und GPG-Passphrase ====
* duply prüft vor jeder Aktion ob der GPG-Key gültig ist und die Passphrase korrekt ist.
* Dies kann durch die Option '''GPG_TEST='disabled'''' unterbunden werden.
 
Aktiviert
GPG_TEST='disabled'
 
Deaktiviert
# GPG_TEST='disabled'
 
====Ziel und Quelle des Backups festlegen====
=====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>http://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+http://[user:password]@bucket_name[/prefix]
scp and sftp are aliases for the ssh backend
ssh://user</nowiki>[:password]@other.host[:port]/some_dir
tahoe://alias/directory
webdav[s]://user[:password]@other.host/some_dir
 
'''Hinweis'''
Sonderzeichen müssen [https://de.wikipedia.org/wiki/URL-Encoding urlencoded] eingetragen werden, außer bei den Parametern '''TARGET_USER, TARGET_PASS'''
 
=====Ziel des Backups festlegen=====
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 festlegen=====
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.''
=== Kommandos ===
SOURCE='/'
{| class="wikitable sortable options"
 
|-
In der Regel wird SOURCE='/' gesetzt.
! Option !! Parameter ||Beschreibung
 
|-
Dateien, die in die Sicherung aufgenommen oder von ihr ausgeschlossen werden, werden in der Datei [[Backup:duply#exclude|'''exclude''']] angegeben.
| usage || || get usage help text
 
|-
====Maximales Alter eines Backups festlegen====
| and/or/groupIn/groupOut || || pseudo commands used in batches (see SEPARATORS above)
Hier ist anzumerken, dass duply keine Backups löscht, sofern man es nicht anfordert.
|-
 
| create || || creates a configuration profile
Mit '''MAX_AGE''' wird das maximale Alter von Backups bestimmt.
|-
Das älteste Backup soll maximal ein Jahr alt sein.
| backup || || backup with pre/post script execution (batch: [pre_bkp_post]), full (if full_if_older matches or no earlier backup is found) incremental (in all other cases)
|-
| pre/post || ||execute '<profile>/pre', '<profile>/post' scripts
|-
| bkp || || as above but without executing pre/post scripts
|-
| full || ||force full backup
|-
| incr || || force incremental backup
|-
| list || [<age>] || list all files in backup (as it was at <age>, default: now)
|-
| status || || prints backup sets and chains currently in repository
|-
| verify || [<age>] [--compare-data] || list files changed, since age if given
|-
| verifyPath || <rel_path_in_bkp> <local_path> [<age>] [--compare-data] || list changes of a file or folder path in backup compared to a local path, since age if given
|-
| restore || <target_path> [<age>] || restore the complete backup to <target_path> [as it was at <age>]
|-
| fetch || <src_path> <target_path> [<age>] || fetch single file/folder from backup [as it was at <age>]
|-
| purge || [<max_age>] [--force] || list outdated backup files (older than $MAX_AGE) [use --force to actually delete these files]
|-
| purgeFull || [<max_full_backups>] [--force] || list outdated backup files ($MAX_FULL_BACKUPS being the number of full backups and associated incrementals to keep, counting in reverse chronological order) [use --force to actually delete these files]
|-
| purgeIncr || [<max_fulls_with_incrs>] [--force] || list outdated incremental backups ($MAX_FULLS_WITH_INCRS being the number of full backups which associated incrementals will be kept, counting in reverse chronological order) [use --force to actually delete these files]
|-
| purgeAuto || [--force] || convenience batch wrapper for all purge commands above
* purge, purgeFull, purgeIncr are added if their conf vars were set
* e.g
  MAX_AGE=1Y
  MAX_AGE=1Y
MAX_FULL_BACKUPS=6
MAX_FULLS_WITH_INCR=3
in profile conf file would result in
[purge_purgeFull_purgeIncr]
|-
| cleanup || [--force] || list broken backup chain files archives (e.g
* after unfinished run) [use --force to actually delete these files]
|-
| changelog || || print changelog / todo list
|-
| txt2man || || feature for package maintainers - create a manpage based on the usage output
* download txt2man from https://mvertes.free.fr/, put it in the PATH and run 'duply txt2man' to create a man page
|-
| version || || show version information of duply and needed programs
|}


====Anzahl der vollständigen Backups festlegen====
=== Umgebung ===
Mit '''MAX_FULL_BACKUPS''' kann bestimmt werden, wie viele Full-Backups duply maximal behält.
=== Rückgabewert ===
 
Es sollen fünf sein.
MAX_FULL_BACKUPS=5
 
====Maximales Alter der vollständigen Backups festlegen====
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 bei der Übertragung ändern ====
 
Um den durch eventuelle Übertragungsfehler entstehenden Zeitverlust einzuschränken, teilt duply standardmäßig seine Backups in 25 MB große Dateien.
 
Dies kann mit '''VOLSIZE''' geändert werden.
 
Backup-Pakete sollen 10 MB groß sein.
 
VOLSIZE=10
DUPL_PARAMS="$DUPL_PARAMS --volsize $VOLSIZE"


=== Dateien ===


== Anwendungen ==
<noinclude>
==== Anwendung ====
'''GPG_KEY='C676563899DE35FA''''
'''GPG_PW='NerzManta9''''
'''GPG_OPTS='--compress-algo=bzip2 --personal-cipher-preferences AES256''''
'''GPG_TEST='disabled''''
'''TARGET='<nowiki>ssh://user:KohlIstKrempe969@foxtom.net:22/home/user/backup_PC1</nowiki>''''
'''SOURCE='/''''
'''MAX_AGE=1Y'''
'''MAX_FULL_BACKUPS=5'''
'''MAX_FULLBKP_AGE=2W'''
'''DUPL_PARAMS="$DUPL_PARAMS --full-if-older-than $MAX_FULLBKP_AGE"'''
'''VOLSIZE=10'''
'''DUPL_PARAMS="$DUPL_PARAMS --volsize $VOLSIZE"'''


===Pre- und Post-Skripte===
== Anhang ==
* duply erlaubt die Verwendung von Pre- und Post-Skripten.
* Das pre-Skript wird direkt vor dem Backup ausgeführt, das post-Skript direkt nach dem Backup.
* Mit diesen Skripten können beispielsweise Snapshots von LVM-Volumes oder Dumps von SQL Datenbanken gemacht und in das Backup einbezogen werden.
* Die files <tt>pre</tt> und <tt>post</tt> müssen im jeweiligen duply Verzeichnis liegen (Bsp.: /home/user/.duply/backup/) und ausführbar sein.
* Werden die pre/post Scripte nicht wie erhofft ausgeführt (z.B. bei den Sicherchungs-Methoden "full/incr"), können diese explizit angegeben werden: <tt>pre_incr_post</tt>
 
; Beispiel
Hier ein Beispiel für ein PRE/POST Skript welches vor dem Backup einen SQL-Dump aller Datenbanken erstellt und diesen nach dem Backup wieder löscht.
 
; pre-Datei
/usr/bin/mysqldump --all-databases -u root -ppw> /tmp/sqldump-$(date '+%F')
 
; post-Datei
/bin/rm /tmp/sqldump-$(date '+%F')
 
===exclude===
* duply arbeitet standardmäßig mit einer Whitelist.
* Um gewisse Verzeichnisse oder Dateien von einem Backup zu inkludieren muss die Datei <tt>exclude</tt> im duply Verzeichnis erstellt werden.
* Die Syntax erlaubt das Hinzufügen von Verzeichnissen und Dateien mit einem <tt>+ /pfad/zur/datei</tt>.
* Um ein Verzeichnis zu exkludieren muss in der <tt>exclude</tt> ein <tt>- /pfad/zum/Verzeichnis</tt> eingefügt werden.
* Zudem erlaubt duply die Verwendung von Wildcards.
* Die hier dargestellte <tt>exclude</tt> Datei sichert die Verzeichnisse <tt>/etc/, /root/, /var/www/</tt> und exkludiert alle anderen Verzeichnisse.
+ /etc/
+ /root/
+ /var/www/
- **
 
=== Parameter ===
* duply bietet eine Vielzahl von Kommandozeilenparametern für die Sicherung und Wiederherstellung von Daten.
* Die gesamte Liste ist in der Manpage von duply zu finden.
* Beim Einsatz von mehreren Parameter werden diese durch einen Unterstrich ('''_''') getrennt.
* Mit <tt>/usr/bin/duply /root/.duply/test full_verify_purge --force</tt> wird ein volles Backup erstellt, verifiziert und alte Backups gelöscht.
* Backups welche die <tt>MAX_AGE</tt> überschritten haben werden mit <tt>purge</tt> angezeigt und durch die zusätzliche Option <tt>--force</tt> gelöscht.
* Der Befehl <tt>/usr/bin/duply /root/.duply/test incr</tt> führt ein inkrementelles Backup aus.
 
===cronjob===
* Bei duply handelt es sich nicht um einen Dienst (Daemon), sondern um ein Skript, das z.B. regelmäßig via Cron ausgeführt werden kann.
 
; Beispiel
0 0 * * 7 /usr/bin/duply /root/.duply/test full_verify_purge --force
0 0 * * 1-6 /usr/bin/duply /root/.duply/test incr
 
* In dieser Konfiguration wird Sonntags um 0:00 ein Full-Backup erstellt und alte Backups gelöscht.
* Montag bis Samstag wird jeden Tag ein inkrementelles Backup durchgeführt.
* Neue cronjobs können mit '''crontab -e''' erstellt werden.
* Kommandos und Konfigurationsdateien müssen mit absolutem Pfad angegeben werden.
 
== Fehlerbehebung ==
=== Volume was signed by key ''X'' not ''Y'' ===
=== OSError: Socket is closed ===
ssh: Exception (client): Signature verification (ssh-rsa) failed.
ssh: Traceback (most recent call last):
ssh:  File "/usr/local/lib/python3.10/dist-packages/paramiko/transport.py", line 2130, in run
ssh:    self.kex_engine.parse_next(ptype, m)
ssh:  File "/usr/local/lib/python3.10/dist-packages/paramiko/kex_curve25519.py", line 64, in parse_next
ssh:    return self._parse_kexecdh_reply(m)
ssh:  File "/usr/local/lib/python3.10/dist-packages/paramiko/kex_curve25519.py", line 130, in _parse_kexecdh_reply
ssh:    self.transport._verify_key(peer_host_key_bytes, sig)
ssh:  File "/usr/local/lib/python3.10/dist-packages/paramiko/transport.py", line 1942, in _verify_key
ssh:    raise SSHException(
ssh: paramiko.ssh_exception.SSHException: Signature verification (ssh-rsa) failed.
ssh:
Attempt of put Nr. 1 failed. OSError: Socket is closed
 
== Sicherheit ==
== Dokumentation ==
=== Man-Pages ===
=== Info-Pages ===
=== Projekt-Homepage ===
 
== Links ==
=== Siehe auch ===
=== Siehe auch ===
# [[GPG]]
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
# [[GPG-Agent]]
----
# [[pinentry-curses]]
* [[GnuPG]]
* [[GnuPG-Agent]]
* [[pinentry-curses]]
* [[duplicity]]


=== Weblinks ===
==== Sicherheit ====
=== Dokumentation ===
=== Links ===
==== Projekt ====
==== Weblinks ====
# [https://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_duply https://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_duply]
# [https://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_duply https://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_duply]
# [https://wiki.archlinux.org/index.php/Duply#Configuration https://wiki.archlinux.org/index.php/Duply#Configuration]
# [https://wiki.archlinux.org/index.php/Duply#Configuration https://wiki.archlinux.org/index.php/Duply#Configuration]
# [https://www.gnupg.org/howtos/de/GPGMiniHowto.html https://www.gnupg.org/howtos/de/GPGMiniHowto.html]
# [https://www.gnupg.org/howtos/de/GnuPGMiniHowto.html https://www.gnupg.org/howtos/de/GnuPGMiniHowto.html]
# [http://duply.net/ duply.net]
# [https://duply.net/ duply.net]


=== Einzelnachweise ===
[[Kategorie:duply]]
<references />


== Testfragen ==
{{DISPLAYTITLE:duply}}
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


[[Kategorie:Backup]]
</noinclude>
[[Kategorie:Linux:Befehl]]
[[Kategorie:Linux/Befehl]]

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

duply - Inkrementelle verschlüsselte Backups

Beschreibung

Frontend für duplicity

Shell-Frontend für duplicity

  • Verwendung vereinfachen
  • Einstellungen in Profilen verwalten
  • Stapelverarbeitung
    • Es unterstützt die Ausführung von mehreren Befehlen als Stapelverarbeitung
    • Damit sind einzeilige cron-Einträge möglich und der Benutzer kann Skripte verwenden, die vor oder nach dem Backup ausgeführt werden
  • Alle duplicity-Backends werden unterstützt
Vereinfacht die Ausführung von Duplicity

Frontend für duplicity

  • Backups können lokal oder einem anderen System gespeichert werden
  • Cron oder Kommandozeile
  • Speichert Einstellungen in Profilen
  • Batch-Operationen
    ermöglicht, beispielsweise backup_verify+purge
  • Ausführung von Pre-/Post-Skripten
  • verschiedene Aktionen möglich, abhängig vom vorherigen oder nächsten Befehl oder dessen Rückgabewert
  • Vorbedingungsprüfung für fehlerfreie Duplizitätsoperationen

Für jeden Sicherungsauftrag wird ein Konfigurationsprofil erstellt

Profilordner
~/.duply/<profile>
Hinweis
Wenn der Ordner '/etc/duply' existiert, werden die Profile für den Superuser Benutzer root dort gesucht und erstellt werden
Protokolle
Protokoll Beschreibung
ftp
ssh
s3
rsync
cifs
webdav
http

Installation

sudo apt install duply

Dateien

/usr/bin/
duply
/usr/share
/doc/duply/
 README
 README.Debian
 TODO
 changelog.Debian.gz
 changelog.gz
 copyright
 systemd-unit.examples
  HOWTO.txt
  systemd-unit.examples/system/
   duply-backup@.service
   duply-backup@.timer
   duply-cleanup@.service
   duply-cleanup@.timer
   duply-verify@.service
   duply-verify@.timer
   notify-failed-backup@.service
  systemd-unit.examples/user/
   duply-backup@.service
   duply-backup@.timer
   duply-cleanup@.service
   duply-cleanup@.timer
   duply-verify@.service
   duply-verify@.timer
   notify-failed-backup@.service
 man/man1/
  duply.1.gz

Aufruf

Argumente

Optionen

Option Beschreibung
--force passed to duplicity (see commands purge, purgeFull, purgeIncr, cleanup)
--preview do nothing but print out generated duplicity command lines
--disable-encryption disable encryption, overrides profile settings

Kommandos

Option Parameter Beschreibung
usage get usage help text
and/or/groupIn/groupOut pseudo commands used in batches (see SEPARATORS above)
create creates a configuration profile
backup backup with pre/post script execution (batch: [pre_bkp_post]), full (if full_if_older matches or no earlier backup is found) incremental (in all other cases)
pre/post execute '<profile>/pre', '<profile>/post' scripts
bkp as above but without executing pre/post scripts
full force full backup
incr force incremental backup
list [<age>] list all files in backup (as it was at <age>, default: now)
status prints backup sets and chains currently in repository
verify [<age>] [--compare-data] list files changed, since age if given
verifyPath <rel_path_in_bkp> <local_path> [<age>] [--compare-data] list changes of a file or folder path in backup compared to a local path, since age if given
restore <target_path> [<age>] restore the complete backup to <target_path> [as it was at <age>]
fetch <src_path> <target_path> [<age>] fetch single file/folder from backup [as it was at <age>]
purge [<max_age>] [--force] list outdated backup files (older than $MAX_AGE) [use --force to actually delete these files]
purgeFull [<max_full_backups>] [--force] list outdated backup files ($MAX_FULL_BACKUPS being the number of full backups and associated incrementals to keep, counting in reverse chronological order) [use --force to actually delete these files]
purgeIncr [<max_fulls_with_incrs>] [--force] list outdated incremental backups ($MAX_FULLS_WITH_INCRS being the number of full backups which associated incrementals will be kept, counting in reverse chronological order) [use --force to actually delete these files]
purgeAuto [--force] convenience batch wrapper for all purge commands above
  • purge, purgeFull, purgeIncr are added if their conf vars were set
  • e.g
MAX_AGE=1Y
MAX_FULL_BACKUPS=6
MAX_FULLS_WITH_INCR=3

in profile conf file would result in

[purge_purgeFull_purgeIncr]
cleanup [--force] list broken backup chain files archives (e.g
  • after unfinished run) [use --force to actually delete these files]
changelog print changelog / todo list
txt2man feature for package maintainers - create a manpage based on the usage output
version show version information of duply and needed programs

Umgebung

Rückgabewert

Anhang

Siehe auch


Sicherheit

Dokumentation

Links

Projekt

Weblinks

  1. https://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_duply
  2. https://wiki.archlinux.org/index.php/Duply#Configuration
  3. https://www.gnupg.org/howtos/de/GnuPGMiniHowto.html
  4. duply.net