Files
wordpress_docker/scripts/backup.sh
2026-02-12 17:44:22 +01:00

30 lines
714 B
Bash
Executable File

#!/bin/sh
set -e
DATE=$(date +"%Y-%m-%d_%H-%M")
BACKUP_DIR="/backups"
BACKUP_NAME="${DATE}.tar.gz"
mkdir -p "$BACKUP_DIR"
echo "[$(date)] Starting backup..."
echo "Dumping database..."
mariadb-dump --no-tablespaces \
-h db \
-u"$MYSQL_USER" \
-p"$MYSQL_PASSWORD" \
"$MYSQL_DATABASE" > "/tmp/db_dump_${DATE}.sql"
echo "Creating tar.gz archive..."
tar -czf "${BACKUP_DIR}/${BACKUP_NAME}" \
-C /source/wp . \
-C /tmp "db_dump_${DATE}.sql"
rm -f "/tmp/db_dump_${DATE}.sql"
echo "Cleaning up backups older than ${BACKUP_RETENTION_DAYS:-7} days..."
find "$BACKUP_DIR" -name "*.tar.gz" -type f -mtime +${BACKUP_RETENTION_DAYS:-7} -delete
echo "[$(date)] Backup complete: ${BACKUP_DIR}/${BACKUP_NAME}"