31 lines
830 B
Django/Jinja
Executable File
31 lines
830 B
Django/Jinja
Executable File
#!/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
|