meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux:backup:duply [2017/06/14 09:02] niziak |
linux:backup:duply [2021/05/10 13:57] (current) niziak |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Duply ====== | ||
+ | |||
====== Installation ====== | ====== Installation ====== | ||
<code bash> | <code bash> | ||
Line 8: | Line 10: | ||
<code bash>duply gitlab create</code> | <code bash>duply gitlab create</code> | ||
Profile file ''$HOME/.duply/gitlab/conf'' was created. | Profile file ''$HOME/.duply/gitlab/conf'' was created. | ||
+ | |||
+ | IMPORTANT | ||
+ | Copy the whole profile folder after the first backup to a safe place. It contains everything needed to restore your backups. You will need it if you have to restore the backup from another system | ||
+ | (e.g. after a system crash). Keep access to these files restricted as they contain all information (gpg data, ftp data) to access and modify your backups. | ||
+ | |||
+ | Repeat this step after all configuration changes. Some configuration options are crucial for restoration. | ||
+ | |||
Generate random password: | Generate random password: | ||
Line 59: | Line 68: | ||
**Note:** duply dosn't make any cleanup or deletions during ''backup'' action. So destination storage can be full very quickly. | **Note:** duply dosn't make any cleanup or deletions during ''backup'' action. So destination storage can be full very quickly. | ||
- | To perform maintenance of old backup accordign to ''MAX_AGE'', ''MAX_FULL_BACKUPS'' and ''MAX_FULLBKP_AGE'' parameters it is need to call | + | To perform maintenance of old backup accordign to ''MAX_AGE'', ''MAX_FULL_BACKUPS'', ''MAX_FULLS_WITH_INCRS'' and ''MAX_FULLBKP_AGE'' parameters it is need to call |
duply with ''purge'' and ''cleanup'' commands. See cron script example below. | duply with ''purge'' and ''cleanup'' commands. See cron script example below. | ||
+ | |||
+ | Example options: | ||
+ | * MAX_FULL_BACKUPS=2 | ||
+ | * MAX_FULLS_WITH_INCRS=1 | ||
+ | Will keep 2 full backup sets, but only one with increments (last one). | ||
+ | |||
+ | Sometimes it is good to check whether incremental backups are meaningful (it depends on type of data stored). If command | ||
+ | <code bash>duply gitlab status</code> shows that number of volume with each increment is similar to full backup, then making increments has no sense, ane time to keep increments | ||
+ | can be short e.g. MAX_FULLBKP_AGE=7D | ||
+ | |||
====== Usage ====== | ====== Usage ====== | ||
Line 75: | Line 94: | ||
<file bash> | <file bash> | ||
+ | #!/bin/bash -ue | ||
+ | set -o pipefail | ||
+ | trap "banner error; echo LINE: $LINENO" ERR | ||
+ | |||
duply gitlab backup | duply gitlab backup | ||
duply gitlab purge --force # list outdated backup archives and delete them | duply gitlab purge --force # list outdated backup archives and delete them | ||
+ | duply gitlab-to-grinnux purgeIncr --force | ||
+ | duply gitlab-to-grinnux purgeFull --force | ||
duply gitlab cleanup --extra-clean --force > /dev/null # list broken backup files and delete them | duply gitlab cleanup --extra-clean --force > /dev/null # list broken backup files and delete them | ||
+ | banner ALL OK | ||
</file> | </file> | ||
+ | ===== shell function ===== | ||
+ | <code bash> | ||
+ | #!/bin/bash -ueE | ||
+ | set -o pipefail | ||
+ | trap "banner error; echo LINE: $LINENO" ERR | ||
+ | run_duply() { | ||
+ | echo "=====================================================" | ||
+ | duply ${1} backup | ||
+ | echo "=====================================================" | ||
+ | duply ${1} cleanup --extra-clean --force | ||
+ | duply ${1} purge --force | ||
+ | duply ${1} purgeIncr --force | ||
+ | duply ${1} purgeFull --force | ||
+ | echo "=====================================================" | ||
+ | duply ${1} cleanup --extra-clean --force > /dev/null | ||
+ | echo "=====================================================" | ||
+ | banner ${1} OK | ||
+ | } | ||
+ | </code> | ||
====== SFTP and rbash ====== | ====== SFTP and rbash ====== |