Ubuntu Server: automatizzare backup mysql

Pubblicato il: 5 settembre, 2009

In un nostro articolo precedente ho spiegato come installare e configurare un server Mysql…ma se noi in questo server vogliamo effettuare dei backup automatici?In questo articolo vi spiegherò come fare :-D
Iniziamo con il creare una directory per il salvataggio e l’archiviazione dei backup, da terminale eseguiamo:

sudo mkdir /var/backup
Creare lo script myback ed inserirlo nella directory /etc/cron.daily.
Ricordara di modificare MY_USR e MY_PWD.

Ecco qui cosa dovete inserire in myback

#!/bin/bash
# Created by Beniamino Caputo
#
# Definizione Variabili
#
MY_DIR= # Directory Binari MySQL se non sono in PATH

MY_HST=localhost # Host del MySql server

MY_USR=root_mysql # User di MySql

MY_PWD=password_root_mysql # Password di accesso

EL_DBS=/var/backup/temp/elencodb # File Elenco Databases nel Backup

BK_DIR=/var/backup/temp # Directory Backup

BK_NAM=/var/backup/stored/backup-$(date +%d-%m-%Y) # Nome del Backup (costruita automaticamente con la data)

#
# Elimino Eventuali Backup Temporanei Presenti
#

rm -f ${BK_DIR}/*

#
# 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 $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}/*

exit 0

E poi impostiamo i permessi dello script

sudo chmod 755 myback

Ecco cosa dobbiamo configurare per lo script:

MY_DIR: directory contenente i binari di MySql. In Ubuntu non è necessaria in quanto presente in PATH}. Nel caso di installazione manuale si può inserirla, avendo l’accortezza di terminarla con /. Esempio: MY_DIR=/path/binari/mysql/.

MY_HST: l’hostname della macchina, potrebbe essere sufficiente localhost.

MY_USR: l’utente del server MySql.

MY_PWD: la password dell’utente MySql.

EL_DBS: nome del file che conterrà l’elenco dei database.

BK_DIR: la directory temporanea per il dump dei database.

BK_NAM: nome del file di backup.

Mike

Tag: , , , , ,




WPSN comments