44 lines
1.3 KiB
Bash
44 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Database credentials
|
|
HOST="10.5.48.47"
|
|
PORT="3307"
|
|
USER="root"
|
|
PASSWORD="xM9A4!exJbQNhqJ"
|
|
|
|
# Directories
|
|
BACKUP_DIR="/app/simfony_deployments/mysql/mysql_dump_bkp/backup_dump"
|
|
LOG_FILE="/app/simfony_deployments/mysql/mysql_dump_bkp/backup.log"
|
|
|
|
# Timestamp format
|
|
CURRENT_HOUR=$(date +"%Y%m%d%H")
|
|
CURRENT_TIME=$(date +"%Y%m%d%H%M")
|
|
|
|
# Databases to back up
|
|
DATABASES=("ipam" "mobility" "notification" "provisioning" "sso_db" "web_db" "simfony_web_db")
|
|
|
|
# Create backup directory if it doesn't exist
|
|
mkdir -p $BACKUP_DIR
|
|
|
|
# Backup databases
|
|
for DB in "${DATABASES[@]}"; do
|
|
FILENAME="$BACKUP_DIR/${DB}_$CURRENT_TIME.sql"
|
|
mysqldump -h $HOST -P $PORT -u $USER -p$PASSWORD $DB > $FILENAME 2>> $LOG_FILE
|
|
|
|
if [ $? -eq 0 ]; then
|
|
if [[ "${FILENAME}" != *"${CURRENT_HOUR}.sql" ]]; then
|
|
gzip $FILENAME
|
|
if [ $? -eq 0 ]; then
|
|
echo "[$(date)] Backup and compression successful for database '$DB'. File: $FILENAME.gz" >> $LOG_FILE
|
|
else
|
|
echo "[$(date)] Backup successful but compression failed for database '$DB'. File: $FILENAME" >> $LOG_FILE
|
|
fi
|
|
else
|
|
echo "[$(date)] Backup successful for database '$DB'. File: $FILENAME" >> $LOG_FILE
|
|
fi
|
|
else
|
|
echo "[$(date)] Backup failed for database '$DB'." >> $LOG_FILE
|
|
fi
|
|
done
|
|
|