#!/bin/bash

# MySQL Database Backup Script for Musical Marketplace
# Usage: ./backup_database.sh

DB_NAME="metajack_marketplace"
DB_USER="mjack"
DB_PASS="NnBSN9i2xUKg"
BACKUP_DIR="/var/www/html/backups"
DATE=$(date +%Y%m%d_%H%M%S)

# Create backup directory if it doesn't exist
mkdir -p $BACKUP_DIR

echo "Creating MySQL backup for $DB_NAME..."

# Full backup with data
mysqldump -u $DB_USER -p$DB_PASS \
    --single-transaction \
    --routines \
    --triggers \
    --add-drop-table \
    --extended-insert \
    $DB_NAME > $BACKUP_DIR/${DB_NAME}_full_${DATE}.sql

# Structure only backup
mysqldump -u $DB_USER -p$DB_PASS \
    --no-data \
    --add-drop-table \
    $DB_NAME > $BACKUP_DIR/${DB_NAME}_structure_${DATE}.sql

# Compress the full backup
gzip $BACKUP_DIR/${DB_NAME}_full_${DATE}.sql

echo "Backup completed:"
echo "- Full backup: $BACKUP_DIR/${DB_NAME}_full_${DATE}.sql.gz"
echo "- Structure only: $BACKUP_DIR/${DB_NAME}_structure_${DATE}.sql"

# Keep only last 5 backups
cd $BACKUP_DIR
ls -t ${DB_NAME}_full_*.sql.gz | tail -n +6 | xargs -r rm
ls -t ${DB_NAME}_structure_*.sql | tail -n +6 | xargs -r rm

echo "Old backups cleaned up (keeping last 5)"