Teniamo i backup ordinati

gennaio 26, 2011
By

Per fare i backup periodici di mysql sui miei server ho scritto un piccolo script che si occupa di crearli separatemente, un file per ogni database. È uno script abbastanza ovvio, ma mi apreva potesse venire comodo

Allo script ho anche aggiunto una parte che si occupa di fare pulizia dei file vecchi.

#!/bin/bash
BACKUP_TARGET_DIR=/path/per/il/backup/
SUFFISSO=`date +%Y%m%d%H%M`
mysql --defaults-extra-file=/path/alle/credenziali.cnf -s -e "show databases;" | while read fn;do mysqldump --defaults-extra-file=/path/alle/credenziali.cnf --database ${fn} | gzip > ${BACKUP_TARGET_DIR}${fn}_${SUFFISSO}.sql.gz; done;
find $BACKUP_TARGET_DIR -mtime +4 -delete

Così nella cartella di backup vi troverete i file divisi per ogni database, uno per giorno (se lanciate lo script giornalmente) risalendo fino a 4 giorni prima.

Non male 🙂

Inoltre ho avuto l’accortezza di usare –defaults-extra-file che specifica un file dove saranno trovate le credenziali. In questo modo il processo di backup non espone le credenziali quando elencato da un ps.

Tags: ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


*