Backup di MySQL tramite script: differenze tra le versioni

→‎Un terzo script: correzione virgolette-apici; aggiunto link autore
m (rimozione falso positivo (era solo un commento, riportante una pagina non più esistente))
(→‎Un terzo script: correzione virgolette-apici; aggiunto link autore)
Riga 127: Riga 127:


== Un terzo script ==
== Un terzo script ==
Lo script seguente effettua il backup di tutti i database presenti sul server e imposta una rotazione che conserva gli ultimi 4 backup salvati.
Lo script <sup>[[#Collegamenti esterni| [3]]]</sup> seguente effettua il backup di tutti i database presenti sul server e imposta una rotazione che conserva gli ultimi 4 backup salvati.
<pre>
<pre>
#!/bin/bash
#!/bin/bash
Riga 133: Riga 133:


# Modify the following to suit your environment
# Modify the following to suit your environment
export DB_BACKUP=/home/user/mysql_backup”
export DB_BACKUP="/home/user/mysql_backup"
export DB_USER=”root”
export DB_USER="root"
export DB_PASSWD=***********
export DB_PASSWD="***********"
export DATE=”`date +”%d%b”`”
export DATE="'date +”%d%b"'"
export MYSQL=/usr/bin/mysql”
export MYSQL="/usr/bin/mysql"
export MYSQLDUMP=/usr/bin/mysqldump”
export MYSQLDUMP="/usr/bin/mysqldump"


# Backup part
# Backup part
echo “mySQL_backup”
echo "mySQL_backup"
echo “———————-
echo "———————-"
echo * Rotating backups…”
echo "* Rotating backups…"
rm -rf $DB_BACKUP/04
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
Riga 150: Riga 150:
mkdir $DB_BACKUP/01
mkdir $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
$MYSQL -u $DB_USER –password=$DB_PASSWD -Bse ‘show databases’ |while read m; \
$MYSQL -u $DB_USER –password=$DB_PASSWD -Bse 'show databases' |while read m; \
do $MYSQLDUMP -u $DB_USER –password=$DB_PASSWD `echo $m` > `echo $m`.sql;done
do $MYSQLDUMP -u $DB_USER –password=$DB_PASSWD 'echo $m' > 'echo $m'.sql;done
bzip2 *sql
bzip2 *sql


echo * Creating new backup…”
echo "* Creating new backup…"
echo “Backup done! `date`” > /tmp/my_report.log
echo "Backup done! 'date'" > /tmp/my_report.log


# You can set the script to send you mail when backup it’s finished.
# You can set the script to send you mail when backup it’s finished.
mail -s “MySql Backup report” you@yourmail.com < /tmp/my_report.log
mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
echo "----------------------"
echo "----------------------"
echo "Done"
echo "Done"
982

contributi