mysql backup via mail
Data: 19 Marzo 2007Autore: Maurizio Pelizzone
Dopo la disavventura di qualche giorno fa ho migliorato un po’ le mie procedure di backup relative ai database mysql, apportando qualche modifica agli script su crontab; questo è quello che “prodotto“
- mysqldump -u[utente] -p[password] [nomedatabase]| gzip --best -c > [nomedatabase].sql.gz && (date && echo "backup mysql" && uuencode [nomedatabase].sql.gz wordpress.sql.gz) | mail [miamail@dominio.ext] -s "backup mysql"
In pratica mi mando via mail, le istruzioni per ricreare il db avendo prima cura di comprimerle.
Essendo il comando un po’ lungo, avrei potuto fare uno script per poi eseguirlo, ma la potenza della shell è anche questo: concatenazione e reindirizzamento di comandi.
In reatà se scomponiamo i problemi è molto più semplice di quello che sembra.
Parte uno: con mysqldump genero le istruzioni SQL che permettono di ricreare il database.
Parte due: raccolgo lo STDOUT e lo passo a gzip che si occupa di comprimerlo e salvarlo
Parte tre: aspetto che gzip finisca il suo lavoro e se va tutto bene ( && ) preparo il contenuto della mail ( essendo il file compresso in formato binario uso uuencode allegarlo alla mail )
Parte quattro: passo la stringa precedentemente creata al comando mailche infine si occupera di recapitarla nella mia casella di posta
Se qualcuno ha idee per migliorare quanto scritto mi faccia sapere …
Link di riferimento: mysqldump, shelldorado
Technorati: mysql, backup, shell
BlogBabel: mysql, backup, shell
Questo articolo è stato pubblicato il 19 Marzo 2007 alle 7:17 am ed è stato letto 12566 volte
Archiviato sotto linux, shell, mysql.
Se questo post ti è piaciuto puoi iscriverti al mio
Feed Rss
e ricevere direttamente gli aggiornamenti di questo blog sul tuo FeedReader oppure puoi decidere
di offrirmi un caffè.
Se ti va puoi lasciare un commento e leggere quelli degli altri,
ma se preferisci puoi passare direttamente al
post precedente o a quello successivo.
Forse collegati ..
- Mi hanno craccato le stastistiche del blog
Questa notte qualche "simpatico personaggio ( :evil: )", ha deciso che doveva farmi vedere quanto fosse bravo a fare l' - Cobian Backup
Come potete intuire dal nome Cobian Backup è un software nato per fare Backup. Il motivo per il quale - Backup con rsync e crontab
Inizio con il riportare la definizione di Rsync scritta su Appunti di informatica libera. Rsync è un sistema di copia tra - Cambiare l'ordine delle colonne in un database mysql
Forse sono un maniaco dell'ordine ma stavo sclerando per modificare la disposizione delle colonne di una tabella. Con il software che - links for 2005-12-16
Cute Overload! ;) At Cute Overload®, we scour the Web for only the finest in Cute Imagery™. Imagery that is Worth






















22 Marzo 2007
ma deve essere sempre fatto via bash? Io ne ho scritto uno in php. Fa le stesse cose, solo che per quanto riguarda l’allegato puoi mandare qualsiasi cosa, ho scritto proprio col protocollo per le mail l’invio dell’allegato.
16 Luglio 2007
E’ possibile inserire nel comando un “filtro” in modo tale che se il dump restituisse errore partirebbe una mail di avviso e non un file zip vuoto o con dati rovinati?
18 Gennaio 2008
Ottimo metodo, l’ho preso come spunto per il mio backup.. Un unico appunto: mandando il dump del database via email in chiaro lo esponi ad attacchi del tipo man in the middle, quindi se contiene dati ’sensibili’ potrebbero essere visti da parte di terze parti!!
Io l’ho modificato nel modo seguente:
mysqldump -u[utente] -p[password] [nomedatabase]| gzip –best -c > /backup/directory/
date +%A_[nomedatabase].sql.gzIl dump gzippato lo salvo in locale in una dir di backup, rotando settimanalmente. Eventualmente in un secondo tempo si potrebbe implementare uno scp per spostare il tutto da qualche parte, questa volta cifrato..