J’étais à la recherche depuis quelque temps d’un moyen simple et efficace de sauvegarder une base WordPress MySQL sur mon blog WordPress. Après avoir essayé des tonnes de plugin, aucun ne me satisfaisais réellement. Voici donc aujourd’hui la solution que j’utilise, un simple fichier php.
Avant toute chose vous devez télécharger la dernière version compatible avec les changements de dropbox, visiter cette adresse : https://github.com/jakajancar/DropboxUploader/
Cette archive contient 2 fichiers :
- Backup.php qui contient tous les paramètres sur votre compte dropbox et wordpress
- DropboxUploader.php qui est le programme à part entière qui exploite les API mise à disposition par Dropbox.
La première chose consiste à paramétrer le fichier backup.php.
Dans ce fichier vous aurez besoin de vos codes pour dropbox et de votre base MySQL. Si vous ne les connaissez pas (vos codes MySQL), vous pouvez regarder dans le fichier wp-config.php à la racine de votre blog. Ce fichier contient le nom de la base de données ainsi que le username et le password de votre base.
- 1 : laisser localhost, généralement ce fichier est copié sur le serveur qui héberge votre blog.
- 2 : saisir le username de votre base de données MySQL.
- 3 : saisir le password de votre base de données MySQL.
- 4 : saisir le nom de la base de données à sauvegarder. Vous ne pouvez mettre qu’un seul nom de base de données.
- 5 : saisir le username de votre compte dropbox.
- 6 : saisir le password de votre compte dropbox.
- 7 : afin d’organiser au mieux votre compte dropbox, je vous conseille de créer un répertoire Backup_MySQL par exemple.
- 8 : vous pouvez éventuellement modifier le nom de l’archive, par défaut le nom est compréhensible. Il est sous la forme Nom_de_la_baseAAAA-MM-JJ.
Une fois votre fichier de configuration rempli, copier via un logiciel FTP les 2 fichiers Backup.php et DropboxUploader.php à la racine de votre blog.
Ensuite il ne vous reste plus qu’a programmer une tache CRON. Si vous utiliser Cpanel cela se fait très facilement. Connectez-vous sur votre compte d’administration de votre blog, puis aller dans la rubrique Avancé et Tâches Cron.
Puis créer votre tâche CRON. Je vous conseille de sauvegarder votre base de données au moins une fois par jour. Par exemple ici la base est sauvegardée tous les jours à 7 heures du matin.
J’utilise l’utilitaire wget pour exécuter le fichier php de sauvegarde. D’autres méthodes existent, si vous utilisez une autre méthode pour exécuter un fichier php, vous pouvez laisser un commentaire.
Ensuite tous les jours vous aurez un mail (si vous l’avez paramétrer dans votre tâche CRON) pour vous indiquez le résultat de la sauvegarde.
Sur votre compte DropBox, vous avez maintenant tous les jours une copie de votre base MySQL de votre blog. N’oubliez pas de supprimer de temps en temps des sauvegardes.
Il manque sûrement des fonctionnalités supplémentaires à ce script, surtout une à mon gout, la gestion du nombre de sauvegarde. Il faudrait rajouter une option supplémentaire pour définir le nombre de sauvegarde à conserver. N’étant pas un expert en PHP et en manipulation des API Dropbox , je lance un appel à candidature pour l’ajout de cette option.
Voici une méthode simple, robuste et surtout sans plugin pour mettre en sécurité votre base de données MySQL.
That’s All.