self-host/scripts/backup_forgejo_db.sh
2025-04-23 17:47:06 +00:00

24 lines
719 B
Bash
Executable file

#!/bin/bash
FORGEJO_MYSQL_CONTAINER="forgejo-db"
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}"
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