Backup

From Attie's Wiki
Jump to: navigation, search

Backup Procedure

${SCRATCH_DIR}/rsync_filter

# see FILTER RULES section of rsync(1) for help
 
R **
 
+ /etc/
 
+ /etc/ssh/
+ /etc/ssh/**
- /etc/ssh/ssh_host_*_key
 
+ /etc/crontab
+ /etc/cron.*/
+ /etc/cron.*/**
 
+ /etc/dhcp
+ /etc/dhcp/*
- /etc/dhcp/ddns-keys
 
+ /etc/bind
+ /etc/bind/**
- /etc/bind/rndc.key
 
- **

${SCRATCH_DIR}/run.sh

#!/bin/bash -eux
 
BACKUP_USER="user"
BACKUP_HOST="backup_host"
BACKUP_REPO="sys_config"
BACKUP_ROOT="~/backups"
 
ENCRYPTION_RECIPIENT="gpg_key"
 
HOSTNAME="$(hostname -f)"
HOSTNAME_REV="$(echo ${HOSTNAME} | sed 's/\./\n/g' | tac | sed ':a;$!{N;ba};s/\n/./g')"
 
REPO_PATH="sftp://${BACKUP_USER}@${BACKUP_HOST}/${BACKUP_ROOT}/${HOSTNAME_REV}/${BACKUP_REPO}.obnam"
 
# ---
 
cd $(dirname $(readlink -f $0))
rsync -av --filter='merge rsync_filter' / ./data/
obnam backup \
      --root="$(pwd)" \
      --repository="${REPO_PATH}" \
      --client-name="${HOSTNAME}" \
      --encrypt-with="${ENCRYPTION_RECIPIENT}" \
      --compress-with=deflate \
      --deduplicate=verify
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox