meta data for this page
  •  

This is an old revision of the document!


sudo apt-get install duply python-paramiko trickle

Create backup profile:

duply gitlab create

Profile file $HOME/.duply/gitlab/conf was created.

Generate random password:

openssl rand -base64 20
| ~/.duply/gitlab/conf
#GPG_KEY=
GPG_PW='<generated passsword>'

Configure backup section:

| ~/.duply/gitlab/conf
# Paramiko SSH is very CPU consuming
#TARGET='scp://gitlabbackup@192.168.0.230//mnt/backup/gitlabbackup'
 
TARGET='sftp://gitlabbackup@192.168.0.230//mnt/backup/gitlabbackup'
 
# Limit network speed
DUPL_PRECMD="trickle -s -u 1500 -d 256"
 
SOURCE='/'
MAX_AGE=6M
 
VOLSIZE=256
DUPL_PARAMS="$DUPL_PARAMS --volsize $VOLSIZE "
 
# Specify different id_rsa file:
DUPL_PARAMS="$DUPL_PARAMS --ssh-options=-oIdentityFile='/root/.duply/gitlab/id_rsa' "
DUPL_PARAMS="$DUPL_PARAMS --no-compression " # Do not use GZip to compress files on remote system.
DUPL_PARAMS="$DUPL_PARAMS --ssh-options=-carcfour128 "  # light cipher for NAS
DUPL_PARAMS="$DUPL_PARAMS --ssh-options=-oCompression=no "  # disable ssh compression
DUPL_PARAMS="$DUPL_PARAMS --asynchronous-upload " # uploads in background
~/.duply/gitlab/exclude
+ /etc/gitlab
+ /opt
+ /home
+ /root
- **

Start the backup

sudo duply gitlab backup --progress
duply gitlab status
duply gitlab list
 
duply gitlab verify  # long operation

SFTP and rbash

/etc/passwd
mybackup:x:1002:1002:Backup,,,:/home/mybackup:/bin/rbash
/etc/ssh/sshd_config
Subsystem sftp internal-sftp

Verbosity

VERBOSITY=5

Lots of info

Ignoring incremental Backupset (start_time: Fri Aug  5 13:49:11 2016; needed: Fri Jun 17 14:20:07 2016)
Ignoring incremental Backupset (start_time: Fri Aug  5 13:49:11 2016; needed: Thu Jul 21 14:33:52 2016)
Added incremental Backupset (start_time: Fri Aug  5 13:49:11 2016 / end_time: Wed Aug 10 14:54:49 2016)
Ignoring incremental Backupset (start_time: Wed Aug 10 14:54:49 2016; needed: Fri Jun 17 14:20:07 2016)

VERBOSITY=4

Usefull report:

-------------[ Backup Statistics ]--------------
StartTime 1479517583.39 (Sat Nov 19 01:06:23 2016)
EndTime 1479517751.96 (Sat Nov 19 01:09:11 2016)
ElapsedTime 168.57 (2 minutes 48.57 seconds)
SourceFiles 41
SourceFileSize 13621422991 (12.7 GB)
NewFiles 1
NewFileSize 4096 (4.00 KB)
DeletedFiles 0
ChangedFiles 1
ChangedFileSize 13621360640 (12.7 GB)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 6101758 (5.82 MB)
TotalDestinationSizeChange 5214178 (4.97 MB)
Errors 0
-------------------------------------------------

Issues

ssh: Exception: Incompatible ssh peer (no acceptable kex algorithm)

Python paramiko module needs upgrade

apt-get install python-pip python-dev python-cffi libffi-dev build-essential
pip install --ugprade cffi
pip install pycparser==2.13
pip install --ugprade cryptography

To solve error “AssertionError: sorry, but this version only supports 100 named groups” please install

pip install pycparser==2.13
pip install --ugprade paramiko