30 lines
714 B
Bash
Executable File
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}"
|