all good
This commit is contained in:
29
scripts/backup.sh
Executable file
29
scripts/backup.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/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}"
|
||||
Reference in New Issue
Block a user