Commenti(0)
Effettuare un backup di MySQL in più file
Ecco un semplice script Linux Bash per effettuare il backup di MySQL facendo in modo che ciascun DB sia memorizzato in un file diverso
Effettuare backup di intere installazioni di MySQL, può significare dover esportare con mysqldump file .sql di dimensioni veramente poco trattabili.
Non è infrequente infatti avere a che fare con campi binari le cui dimensioni possono anche fare spavento.
Anche se l'hw di oggi è notevolmente migliorato lavorare su un file di testo di 10GB, è sicuramente una cosa poco confortevole.
Il primo rimedio che di può adoperare utile a migliorare l'usabilità di un backup di molti di db, è quello di effettuare in modo automatico, con uno script, il backup di ciascun db in un file sql.
A seguire vi propongo un piccolo script per Bash shell che fa proprio questo, ovviamente lo script è per Linux, gli utenti più smaliziati potranno, far si che i file siano al volo direttamente compressi magari in gzip o in tar.gz.
1#!/bin/bash 2# Fare il backup di ciascun DB mysql db in file differenti 3 4USER="miouser" 5PASSWORD="miapassword" 6HOST="host" 7OUTPUTDIR="directoryOutput" 8MYSQLDUMP="/usr/bin/mysqldump" 9MYSQL="/usr/bin/mysql" 10 11# clean up any old backups - save space 12rm "OUTPUTDIR/*bak" > /dev/null 2>&1 13 14# get a list of databases 15databases=`$MYSQL --user=$USER --password=$PASSWORD -h$HOST 16 -e "SHOW DATABASES;" | tr -d "| " | grep -v Database` 17 18# dump each database in turn 19for db in $databases; do 20 echo $db 21 $MYSQLDUMP --opt --user=$USER --password=$PASSWORD 22 -h$HOST --databases $db > "$OUTPUTDIR/`date +%F`.$db.sql" 23done
Appuntamento alla prossima ricetta
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo