self-host/scripts/backup_forgejo_db.sh

25 lines
719 B
Bash
Raw Permalink Normal View History

#!/bin/bash
FORGEJO_MYSQL_CONTAINER="forgejo-db"
2025-04-23 17:47:06 +00:00
BACKUP_DIRECTORY="$HOME/backups/forgejo/"
RCHAT_NOTIFIER="$HOME/self-host/scripts/rocketchat_notifier.sh"
source "$HOME/.env"
echo "INFO Creating compressed backup of ${FORGEJO_MYSQL_CONTAINER}"
2025-04-23 17:47:06 +00:00
rm $HOME/backups/forgejo/*
sleep 1
docker exec $FORGEJO_MYSQL_CONTAINER \
mysqldump --all-databases -u root -p$FORGEJO_MYSQL_ROOT_PASSWORD | gzip >"${BACKUP_DIRECTORY}$(date +%Y%m%d)".sql.gz
STATUS=$?
if [ $STATUS -eq 0 ]; then
$RCHAT_NOTIFIER "backups" "success" \
"Created backup of ${FORGEJO_MYSQL_CONTAINER} on VPS."
else
$RCHAT_NOTIFIER "backups" "error" \
"Failed to create backup of ${FORGEJO_MYSQL_CONTAINER}: problem with rsync (exit code $STATUS)."
fi