Partiendo de la base de que se ha realizado un Backup previamente de nuestra BBDD, podemos usar el siguiente código.
El uso del siguiente script implica tener un fichero con la nomenclatura (ej: 240420241515-node01-changeofhabit.sql.gz) especifica.
Será importante localizar la fecha y el nombre de la BBDD para ubicar el backup exacto a recuperar
#!/bin/bash
DB_USER='root'
DB_PASS='123456'
DATA=$1
DB=$2
FILE="${DATA}-`hostname -s`-${DB}.sql.gz"
FILE_RESTORE="${DATA}-`hostname -s`-${DB}.sql"
cd /backups
if [ -f "${FILE}" ]; then
gzip -d ${FILE}
mysql -s -u ${DB_USER} -p${DB_PASS} -e "DROP DATABASE IF EXISTS ${DB}"
mysql -s -u ${DB_USER} -p${DB_PASS} < ${FILE_RESTORE}
gzip -9 ${FILE_RESTORE}
else
echo "${DATA},${DB},${FILE},${FILE_RESTORE}"
fi
Para recuperar, deberemos indicar el nombre del fichero y seguidamente de la BBDD.
/scripts/MYSQL_RESTORE.sh 070720212100 DEMO