Backup DB mysql
De jagfloriano.com
Código del script
Script para realizar un backup diario de una base de datos MySQL y almacenar los logs de ejecución.
Se recomienda añadir el siguiente cronjob para automatizar el proceso.
10 3 * * * /root/DB_backup.sh
Código del script
#!/bin/bash
#
# Backup diario de la base de datos MediaWiki
# Toda la salida se redirige al archivo de log
LOG_FILE="/var/log/backup_mediawiki_db.log"
exec >> "$LOG_FILE" 2>&1
echo "===== Inicio Backup BBDD MediaWiki: $(date) ====="
#==============================================
BK_PATH="/bd_backup"
BK_FOLDER="$BK_PATH/mediawiki_db_$(date +"%Y_%m_%d")"
DB_USER="Usuario_DB"
DB_NAME="Nombre_DB"
DB_PASS="Contraseña_Usuario_DB"
#==============================================
# Si la carpeta de backup ya existe, se asume que el backup de hoy ya se realizó
if [ -d "$BK_FOLDER" ]; then
echo "El backup de la base de datos ya existe: $BK_FOLDER"
exit 0
fi
# Crear carpeta de backup
echo "Creando carpeta de backup: $BK_FOLDER"
mkdir -p "$BK_FOLDER"
# Backup base de datos
echo "Iniciando backup de la base de datos..."
if mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BK_FOLDER/mediawiki_db.sql"; then
echo "Backup de la base de datos completado correctamente."
else
echo "ERROR: fallo en el backup de la base de datos MediaWiki." >&2
exit 1
fi
echo "===== Fin Backup BBDD MediaWiki: $(date) ====="
echo