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 ![]()
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: automatizzare, backup, database, mysql, server, Ubuntu