mysql-backup

Ho la necessità di eseguire il backup di un mio server mysqlremoto, cosi invece di utilizzare software propietario mi sono fatto un piccolo script bash per ovviare a questo problema:

#!/bin/bash
### Inserisci qui i dati del tuo server ###

# Utente Mysql
MUSER=”utente”

# Password del database
MPASS=”password”

# Ip o url del database
MHOST=”my.sql.remote.it”

# Cartella locale nella quale vuoi che vengano salvati i fle
# NB: Non aggiungere lo slash alla fine della stringa!!
BAK=”/mia/cartella/per/i/backup”

### Non modificare nulla sotto questa riga se non sai cosa stai facendo

GZIP=”$(which gzip)”
MYSQL=”$(which mysql)”
DUMP=”$(which mysqldump)”

NOW=$(date +”%d-%m-%Y”)

DBS=”$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse ‘show databases’)”
mkdir $BAK/$NOW
for db in $DBS
do
FILE=$BAK/$NOW/$db.$NOW.gz
$DUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done

Questo script esegue il backup di tutti i database presenti nel server ai quali si è autorizzati ad accedere tramite le proprie credenziali.
Lo script crea una cartella nominata in automatico con la data del giorno in cui viene eseguito (es: oggi la cartella si chiamerà 03-07-2009) al cui interno inserisce un file compresso per ogni database salvato; il nome del file ovviamente è il nome del database.

Dipendenze: per funzionare questo script ha bisogno di “mysql”, “mysqldump” e “gzip”.

Spero vi possa essere utile.

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • PDF
  • RSS
  • Segnalo
  • StumbleUpon
  • Technorati
  • Live
  • Tumblr
  • Twitter
  • FriendFeed