#!/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}"