self-host/scripts/backup_wakapi_db.sh

25 lines
808 B
Bash

#!/bin/bash
WAKAPI_CONTAINER_LOCATION="$HOME/self-host/services/wakapi/docker-compose.yml"
WAKAPI_DB_BIND_MOUNT="/data/sqlite/wakapi/wakapi.db"
BACKUP_DIRECTORY="$HOME/backups/wakapi"
RCHAT_NOTIFIER="$HOME/self-host/scripts/rocketchat_notifier.sh"
echo "INFO Creating compressed backup of ${WAKAPI_CONTAINER} database."
docker compose -f $WAKAPI_CONTAINER_LOCATION down
rm $HOME/backups/wakapi/*
gzip -c $WAKAPI_DB_BIND_MOUNT >"$BACKUP_DIRECTORY/wakapi/$(date +%Y%m%d).db.gz"
STATUS=$?
if [ $STATUS -eq 0 ]; then
$RCHAT_NOTIFIER "backups" "success" \
"Created backup of ${WAKAPI_CONTAINER} SQLite database on VPS."
else
$RCHAT_NOTIFIER "backups" "error" \
"Failed to create backup of ${WAKAPI_CONTAINER} SQLite database: exit code $STATUS."
fi
docker compose -f $WAKAPI_CONTAINER_LOCATION up -d