Backup DB Mysql

Script da schedulare (/etc/cron.daily) per automatizzare i backup di mysql e di una folder copiando il tar.gz finale in un server esterno dove tenerne copia o masterizzarla

#!/bin/bash

#
# Definizione Variabili
#
MY_DIR= # Directory Binari MySQL se non sono in PATH
MY_HST=localhost # Host del MySql server
MY_USR=user # User di MySql
MY_PWD=password # Password di accesso

EL_DBS=/var/backup/conf/elencodb # File Elenco Databases nel Backup
BK_DIR=/var/backup/temp # Directory Backup
BK_NAM=/var/backup/stored/backup-$(date +%d-%m-%Y)_mysql # Nome del Backup (costruita automaticamente con la data)
BK_NAM_FORUM=/var/backup/stored/backup-$(date +%d-%m-%Y)_forum # Nome del Backup cartella Forum

#
# Elimino Eventuali Backup Temporanei Presenti
#
rm -f ${BK_DIR}/*

#
# Elimino Backup Sored piùvecchi di 15 gg
#
find /var/backup/stored/* -mtime +15 -exec rm {} \;

#
# Creazione Elenco Databases
#
${MY_DIR}mysqlshow --host=$MY_HST --user=$MY_USR --password=$MY_PWD | head -n -1 | tail -n +4 | tr -d " |" > $EL_DBS

#
# Conteggio Numero di Databases
#
ndb=$(wc -l < "$EL_DBS")

#
# Ciclo Dump dei Databases
#
for db in `seq $ndb`
do
read db
${MY_DIR}mysqldump --host=$MY_HST --user=$MY_USR --password=$MY_PWD --databases $db > $BK_DIR/$db
done <"$EL_DBS"

#
# Creazione File TAR
#
tar -cf $BK_NAM.tar $BK_DIR

#
# Compressione File Tar
#
gzip -f $BK_NAM.tar

#
# Elimino Eventuali Backup Temporanei Presenti
#
rm -f ${BK_DIR}/*

#
# Creazione File TAR cartella forum /var/www/forum/
#
tar -cf $BK_NAM_FORUM.tar /var/www/forum/

#
# Compressione File Tar
#
gzip -f $BK_NAM_FORUM.tar

#Copio su un altro Server cosi viene backuppato ed eventualmente messo su supporti esterni
smbmount //ip_server/Bkp /var/backup/mnt/ -o username=user_server,workgroup=workgroup,password=password_user
Script da schedulare (/etc/cron.daily) per automatizzare i backup di mysql e di una folder copiando il tar.gz finale in un server esterno dove tenerne copia o masterizzarla


#Pulisco eventuali bkp precedenti e copio i nuovi

rm -f /var/backup/mnt/*
cp $BK_NAM.tar.gz /var/backup/mnt/
cp $BK_NAM_FORUM.tar.gz /var/backup/mnt/

smbumount /var/backup/mnt/

exit 0

This entry was posted in Linux & co and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *