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