Paramètrage
d'un cron pour faire un dump horaire des bases Laurux.
Sur le serveur
MySQL:
1- Editer le fichier /etc/crontab
sudo nano /etc/crontab
Copier la ligne suivante : 10 9-19 * *
2-6 root /bin/backup-mysql
> /tmp/result 2>&1 # Sauvegarde horaire des bases de
données
Sauvegarder, Ctrl + O et fermer l'éditeur Ctrl + X
Ce cron va lancer l'executable /bin/backup-mysql toutes les heures de 9 heures à 19
heures. Si un message d'erreur est détecté alors il sera placé dans le
fichier result sous /tmp
2- Editer le fichier /bin/backup-mysql
sudo nano
/bin/backup-mysql
Copier les lignes suivantes :
#!/bin/sh
# sauvegarde journalière des bases de données
# A modifier selon la configuration des machines :
USER=jack
PASS=jack
DESTINATION=/home/jack/sauve
DESTINATION2=/192.168.0.14/home/Accueil/sauve
DATE=`date +%Y-%m-%d`
TIME=`date +%H:%M`
DAY=`date +%d`
DEL=`TZ=CST+24 date +%Y-%m-%d`
# On sauvegarde les bases
mysqldump --lock-tables=0 -h localhost
-u $USER --password=$PASS Laurux01 --add-drop-table | gzip >
$DESTINATION/Laurux01-$TIME.$DATE.sql.gz
mysqldump --lock-tables=0 -h localhost
-u $USER --password=$PASS Laurux02 --add-drop-table | gzip >
$DESTINATION/Laurux02-$TIME.$DATE.sql.gz
# répéter les 2 lignes précédentes autant de fois que de bases à sauvegarder
# On efface les sauvegardes de la veille
rm -rf $DESTINATION/*.$DEL.sql.gz
rm -rf $DESTINATION2/*.$DEL.sql.gz
# On copie les sauvegardes sur le repertoire distant
cp $DESTINATION/Laurux01-$TIME.$DATE.sql.gz $DESTINATION2/Laurux01-$TIME.$DATE.sql.gz
cp $DESTINATION/Laurux02-$TIME.$DATE.sql.gz $DESTINATION2/Laurux02-$TIME.$DATE.sql.gz
4- Donner les droits d'execution au fichier.
sudo chmod o-w backup-mysql
4- Relancer le service crontab.
sudo service cron
restart
----------------------------------------------------------------------------------------------------------------------