meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
linux:backup:duply [2017/06/14 09:02] niziaklinux:backup:duply [2021/05/10 13:53] niziak
Line 1: Line 1:
 +====== Duply ======
 +
 ====== Installation ====== ====== Installation ======
 <code bash> <code bash>
Line 59: Line 61:
  
 **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 87:
  
 <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 ======