C’est quelque chose qu’on oublie bien souvent, mais lorsqu’on héberge son/ses site(s) sur un propre serveur, il n’y a souvent pas de backup, à condition de payer pour. Je n’ai pas d’option pour le backup, mais j’ai prévu quelques trucs pour éviter le pire, comme par exemple ce script qui fait un dump de votre base de données MySQL et vous l’envoie par mail.
Ce petit guide est fait pour fonctionner avec une base de données mysql. La machine tourne sous Ubuntu Server. Afin d’envoyer les mails avec pièces jointes, il vous faut installer mutt :
sudo apt-get install mutt
Ensuite, vous allez dans un répertoire, dont j’ai pour l’exemple pris /home/emich/mysqlbackup :
cd /home/emich/mysqlbackup
Créez un fichier « mysqlbackup.txt », avec le contenu de votre choix. Ca sera le contenu du mail.
echo 'Le plat du jour en SQL. Smakelijk!' > mysqlbackup.txt
Créez un fichier « mysqlbackup.sh », avec le contenu suivant :
/usr/bin/mysqldump --user=username --password=password --all-databases > /home/emich/mysqlbackup/db_backup.sql
/bin/tar -czf /home/emich/mysqlbackup/backupsql.tar.gz /home/emich/mysqlbackup/*.sql
/usr/bin/mutt -s "[eMich] Daily backup" -a /home/emich/mysqlbackup/backupsql.tar.gz lemich@gmail.com < /home/emich/mysqlbackup/mysqlbackup.txt
/bin/rm /home/emich/mysqlbackup/*.sql
/bin/rm /home/emich/mysqlbackup/*.tar.gz
ou faites plus simple, avec un bête wget que vous adaptez ensuite à vos besoins :
wget http://www.emich.be/misc/mysqlbackup.sh
J’envoie le mail vers une boite gmail, donc autre que sur le serveur, car si celui-ci plante, la manœuvre sert un peu a rien.
Changez ensuite les permissions:
chmod +x mysqlbackup.sh
Et ajoutez ensuite le programme à crontab, afin que celui-ci soit executé au moins une fois par jour, entrez la commande suivante :
crontab -e
Dans l’éditeur, ajoutez la ligne suivante, ce qui aura pour effet d’exécuter le script tous les jours à 4h du matin :
0 4 * * * /home/emich/mysqlbackup/mysqlbackup.sh &> /dev/null
En espérant que ceci vous a été utile! Je ne suis pas un gourou ou quoi que ce soit, c’est une solution que j’utilise et qui a déjà fait ses preuves, mais qui peut certainement encore être améliorée.