#!/bin/bash
# Sync backup files from local /var/lib/bondingadmin/backups to
# /var/lib/bondingadmin/primary-backups on a remote host defined in
# /etc/default/bondingadmin/push-backup.
#
# © 2013, Multapplied Networks, Inc.
set -e

BACKUP_DIR="/var/lib/bondingadmin/backups"
PRIMARY_BACKUP_DIR="/var/lib/bondingadmin/primary-backups"
SECONDARY_HOST="" # When empty, this script does nothing.
SECONDARY_USER="bondingadminsync" # User created on secondary server.
SECONDARY_USER_KEY="/etc/bondingadmin/bondingadminsync-key"
test -f /etc/default/bondingadmin/push-backup && . /etc/default/bondingadmin/push-backup

if [ "${SECONDARY_HOST}" == "" ]; then
  # This is the normal case; most partners don't care about pushing backups.
  exit 0
fi

/usr/sbin/backup-bondingadmin
/usr/bin/rsync -azrq \
  -e "ssh -i ${SECONDARY_USER_KEY}" \
  ${BACKUP_DIR}/ \
  ${SECONDARY_USER}@${SECONDARY_HOST}:${PRIMARY_BACKUP_DIR}
