self-host/scripts/backup_forgejo_db.sh

24 lines
693 B
Bash
Executable file

#!/bin/bash
FORGEJO_MYSQL_CONTAINER="forgejo-db"
BACKUP_DIRECTORY="$HOME/backups_to_download/forgejo/"
RCHAT_NOTIFIER="$HOME/"
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