MYSQL, LINUX, CRONTAB,7Z
Ringrazio Davide Pettenò per il fondamentale contributo a questa guida
Oggi vedremo come schedulare dei backup automatici per mysql .
Questo automatismo si realizzerà senza neanche una linea di codice, contrariamente a quanto pensavo
io prima di iniziare :)
ALLEGATI:guida al crontab
PASSI OPERATIVI:
1) creare uno script contente i comandi e le impostazioni per effettuare il backup
2) creare un'operazione pianificata in linux
PASSO NUMERO 1
di seguito lo script da salvare nel file esegui_ backup.sh
#!/bin/sh
NOW=$(date +"%Y-%m-%d")
PERCORSO=/home/mysql_dump/$NOW
USER=root
PASSWORD=rootpassword
DUMPLOG=/home/mysql_dump/dump.log
echo "#" >> $DUMPLOG
echo "------------ INIZIO BACKUP $NOW ---------------" >> $DUMPLOG
echo "#" >> $DUMPLOG
mkdir $PERCORSO
echo "Creato cartella $NOW" >> $DUMPLOG
/***inizio***/
mysqldump --user=$USER --password=$PASSWORD NOMEDATABASE> $PERCORSO/NOMEFILE.sql
echo "Dump NOMEDATABASE ok" >> $DUMPLOG
7z a $PERCORSO/NOMEFILE.7z $PERCORSO/NOMEFILE.sql
/****fine****/
...
...
ripetere le linee tra inizio e fine per ogni database da 'backuppare'
...
...
echo " " >> $DUMPLOG
echo "Abbiamo quasi finito..." >> $DUMPLOG
rm $PERCORSO/*.sql
echo "Tutti gli sql non compressi sono stati rimossi" >> $DUMPLOG
echo "#" >> $DUMPLOG
echo "----------------------- FINE BACKUP $NOW -----------------------" >> $DUMPLOG
di seguito lo script da salvare nel file esegui_
#!/bin/sh
NOW=$(date +"%Y-%m-%d")
PERCORSO=/home/mysql_dump/$NOW
USER=root
PASSWORD=rootpassword
DUMPLOG=/home/mysql_dump/dump.log
echo "#" >> $DUMPLOG
echo "------------ INIZIO BACKUP $NOW ---------------" >> $DUMPLOG
echo "#" >> $DUMPLOG
mkdir $PERCORSO
echo "Creato cartella $NOW" >> $DUMPLOG
/***inizio***/
mysqldump --user=$USER --password=$PASSWORD NOMEDATABASE> $PERCORSO/NOMEFILE.sql
echo "Dump NOMEDATABASE ok" >> $DUMPLOG
7z a $PERCORSO/NOMEFILE.7z $PERCORSO/NOMEFILE.sql
/****fine****/
...
...
ripetere le linee tra inizio e fine per ogni database da 'backuppare'
...
...
echo " " >> $DUMPLOG
echo "Abbiamo quasi finito..." >> $DUMPLOG
rm $PERCORSO/*.sql
echo "Tutti gli sql non compressi sono stati rimossi" >> $DUMPLOG
echo "#" >> $DUMPLOG
echo "----------------------- FINE BACKUP $NOW -----------------------" >> $DUMPLOG
PASSO NUMERO 2
aggiungere la seguente riga al crontab
00 01 * * 6 sh /home/mysql_dump/esegui_ backup.sh
questo schedulerà il backup ogni sabato alle ore 01:00
aggiungere la seguente riga al crontab
00 01 * * 6 sh /home/mysql_dump/esegui_
questo schedulerà il backup ogni sabato alle ore 01:00
THE END!!!
mi raccomando cliccate sulla mia pubblicità :)
Nessun commento:
Posta un commento