Script per la còpia de seguretat d’una base de dades MySQL

Aquest és un script per fer còpia de seguretat d’una base de dades MySQL en un entorn Linux, en un fitxer comprimit, i que conserva les còpies antigues durant determinats dies, passats els quals els esborra.

#!/bin/bash

################## Definir variables ########################
AVUI=`date +"%d%b%Y"`
RUTA='/backupmysql'
HOST='localhost'
PORT='3306'
USUARI='root'
CONTRASENYA='contrasenyamoltsegura'
NOM_BASE='nomdelabasededades'
RETENCIO=10 #Dies que es conservaran les còpies
################# Executar la còpia #########################
mkdir -p ${RUTA}/${AVUI}
echo "Realitzant la còpia de la base de dades - ${NOM_BASE}"
mysqldump -h ${HOST} \
                 -P ${PORT} \
                 -u ${USUARI} \
                 -p${CONTRASENYA} \
                 ${NOM_BASE} | gzip > ${RUTA}/${AVUI}/${NOM_BASE}-${AVUI}.sql.gz
if [ $? -eq 0 ]; then
  echo "Còpia de seguretat de la base de dades finalitzada correctament"
else
  echo "Error durant la còpia de seguretat"
  exit 1
fi
################# Eliminar còpies antigues  ##################
find ${RUTA}/* -mtime +${RETENCIO} -exec rm {} \;
if [ $? -eq 0 ]; then
  echo "Còpies antigues eliminades correctament"
else
  echo "Error durant l'eliminació de les còpies de seguretat antigues"
  exit 1
fi 

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *