2025-04-22 17:25:20 +01:00
|
|
|
#!/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"
|
2025-04-23 18:18:31 +01:00
|
|
|
source "$HOME/.env"
|
2025-04-22 17:25:20 +01:00
|
|
|
|
|
|
|
echo "INFO Creating compressed backup of ${FORGEJO_MYSQL_CONTAINER}"
|
|
|
|
|
2025-04-23 17:47:06 +00:00
|
|
|
rm $HOME/backups/forgejo/*
|
2025-04-23 18:18:31 +01:00
|
|
|
|
|
|
|
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
|
2025-04-23 18:25:29 +01:00
|
|
|
|
|
|
|
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
|