#!/bin/bash # Backup the PVC databases # {{ ansible_managed }} set -o errexit BACKUP_DIR="/srv/backups" DATE="$( date +%Y%m%d )" HOSTNAME="$( hostname -s )" if [[ ! -d ${BACKUP_DIR} ]]; then mkdir -p ${BACKUP_DIR} fi pushd ${BACKUP_DIR} &>/dev/null ZK_BACKUP_FILENAME_BASE="pvc-zookeeper-backup" ZK_BACKUP_FILENAME="${BACKUP_DIR}/${ZK_BACKUP_FILENAME_BASE}.${DATE}.json.xz" pvc -q -c local task backup | nice xz > ${ZK_BACKUP_FILENAME} find ${BACKUP_DIR} -type f -name "${ZK_BACKUP_FILENAME_BASE}*" -mtime +7 -exec rm {} \; DB_BACKUP_FILENAME_BASE="pvc-postgresql-backup" DB_BACKUP_FILENAME="${BACKUP_DIR}/${DB_BACKUP_FILENAME_BASE}.${DATE}.sql.xz" su postgres -c "pg_dumpall" | nice xz > ${DB_BACKUP_FILENAME} find ${BACKUP_DIR} -type f -name "${DB_BACKUP_FILENAME_BASE}*" -mtime +7 -exec rm {} \; popd &>/dev/null