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