restic
Install
sudo apt install -y restic
Configure systemd
Install
sudo apt install -y restic
Configure systemd
Configure Git
# /etc/gitlab/gitlab.rb
gitlab_rails['backup_upload_connection'] = {
'provider' => 'AWS',
'region' => 'ew-west-1',
'aws_access_key_id' => 'KEY123',
'aws_secret_access_key' => 'PASS124',
'endpoint' => 'https://s3.example.com'
}
gitlab_rails['backup_upload_remote_directory'] = 'backups'
gitlab_rails['backup_keep_time'] = 604800
gitlab-ctl reconfigure
Test
gitlab-rake gitlab:backup:create
Configure periodic backup
# crontab -e
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
Install
sudo apt install -y duplicity python-boto
SSH
duplicity incr --log-file /tmp/duplicity.log /etc/ scp://foo@10.0.1.123//media/etc
S3
vi ~/.boto
[Credentials]
aws_access_key_id = KEY_ID
aws_secret_access_key = SECRET_ACCESS_KEY
# create backup to s3
duplicity full --log-file /tmp/duplicity.log /etc/ s3://s3.example.com/backup/host.examp.eocm/etc/
duplicity list-current-files s3+http://bucket/folder
WebDav
export FTP_PASSWORD="pass1234"
apt-get install -y rsnapshot
mv /etc/rsnapshot.conf /etc/rsnapshot.conf.org
cat < /etc/rsnapshot.conf
config_version 1.2
snapshot_root /media/backup/
logfile /var/log/rsnapshot.log
verbose 3
loglevel 3
cmd_preexec /bin/mount /media/backup
cmd_postexec /bin/umount /media/backup
#backup_script /usr/local/bin/backup_mysql.sh localhost/mysql/
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
ssh_args -F /home/foo/.ssh/config -i /home/foo/.ssh/id_rsa
interval daily 7
interval weekly 3
interval monthly 1
#exclude dev/*
exclude lost+found/*