C’est bien beau de faire des sauvegardes, mais après ?
Il peut tout arriver, une mauvaise manip, un hack, un crash serveur. Faire des sauvegardes régulières de son site est vital !! WordPress propose de très bons plugins pour automatiser ça. Mais une fois les sauvegardes lancées, le travail n’est pas fini, il faut les tester, et savoir comment s’en servir pour restaurer son site.
Tester les fichiers de backups
Une fois la sauvegarde effectuée, il est nécessaire de tester les fichiers de backup. Cette manip doit être faite régulièrement pour s’assurer de la qualité des fichiers de backups. Si vous découvrez le jour où votre site est crashé que votre sauvegarde est frelatée….!
Attention : pour faire ces tests, vous aurez besoin des sauvegardes de la bdd, du fichier wp-content, wp-admin, wp-includes. je vous conseille de faire régulièrement un backup total (la fréquence va dépendre de votre fréquence de publication sur le site, ou des modifs que vous faites). Et un backup moins complet, juste la bdd et wp-content, pour le quotidien (oui je suis parano, je sais).
Vous pouvez faire cette manip en local, ou bien sur un site test que vous pouvez écraser sans problème.
Exemple sur un site test vierge :
Télécharger WordPress par FTP ou via votre hébergeur.
La base de données
Étape 1
Si vous partez sur un page blanche, vous devez créer une bdd chez votre hébergeur et aller dans l’administration de phpmyadmin. Cliquez sur l’icône SQL.
Étape 2
Allez dans importation, une petite fenêtre s’ouvre, dans laquelle vous allez pouvoir choisir le fichier de sauvegarde de votre base de données. Si celui -ci est compressé, laissez la détection automatique, et exécutez.
On vous informe que votre requête a été exécutée avec succès et que le contenu de votre fichier a été inséré, et vous voyez effectivement à gauche que des tables sont apparues.
Étape 3
Comme vous êtes en mode test, les informations concernant l’url du site sont fausses, il va donc vous falloir les modifier. Bien sûr en mode restauration les informations seront correctes et vous n’aurez pas à y toucher.
Vous devez trouver la table wp-options (ou préfixe-options si vous avez écouté les consignes de sécurité et que le préfixe de votre bdd n’est pas wp-) et cliquer dessus.
Cliquez sur afficher
Vous allez voir un champ « siteurl » qui correspond à l’url de votre site. Cliquez sur le crayon pour le modifier, et entrez l’url de votre site test. Ce champ correspond au paramètre Adresse web de WordPress dans l’admin WP.
Exécutez.
Ensuite cherchez le champ « home » (qui doit être sur la page suivante) et qui correspond à l’adresse de votre page d’accueil = adresse web du site dans l’admin WP.
Étape 4
Nouvelle installation de WP, donc récupérer le fichier wp-config-sample.php, y entrer les données habituelles : nom de la bdd, utilisateur de la bdd, mot de passe, nom du serveur. Enregistrer ensuite le fichier sous wp-config.php et le transférer dans votre WP.
Si le préfixe de votre table de données n’est pas wp_ , il faut le modifier dans wp.config.php. Trouvez la ligne : $table_prefix = ‘wp_’; et remplacez par votre préfixe.
Lancez l’install de WP normalement en lancant le script d’installation dans votre navigateur : http://www.votresitetest.fr/wp-admin/install.php.
Comme votre bdd est installée avec toutes les infos, vous avez ceci :
Étape 5
Transférez ensuite votre fichier de sauvegarde wp-content dans votre wp.
Et voilà, vous devriez avoir un clone de votre site grâce à votre sauvegarde.
ps si vous faites ce test avec une install déjà faite de wp, vous videz votre base de données avant d »importer votre backup, vous faites les étapes n° 3 et 5 et c’est tout.
Restauration du site WordPress
Pour une restauration, vous avez seulement à
1 importer la bdd sans modification des tables
2 installer un WP propre (avec le fichier wp-config de votre site)
3 et transférer le fichier wp-content contenant vos uploads, vos plugins etc.
Bonjour Joan,
Excellent tutoriel !
J’ajouterais que si la restauration a pour but de créer un environnement de test, le mieux est de créer un sous-domaine pour la version test avec un nombre de lettres équivalents, par exemple : dev.monblog.com pour un original qui s’appelle http://www.monblog.com, et surtout pas test.monblog.com (car test comporte quatre lettres).
Grace à cette astuce, il est possible d’ouvrir le fichier de sauvegarde de la base de données avec un éditeur de texte pour y remplacer http://www.monblog.com par dev.monblog.com.
Ainsi, toutes les pages seront utilisables directement, avec les bons médias et les bons liens internes.
Le nombre de lettres est important, parce que WordPress sérialise les données et dans ce cas, la longueur de la chaine est écrite dans la base de données, avant la chaine elle-même. Si la longueur ne correspond pas, les données ne sont pas chargées.
Maintenant, je me dois de rappeler qu’il n’est pas bon de laisser un accès public à ce genre d’environnement de dev, et qu’il vaut mieux protéger son accès.
David
Merci pour ce complément David.
Merci pour ce très bon tutoriel! C’est vrai qu’il faut toujours vérifier ces sauvegardes, on y pense pas aux premiers abords (d’ailleurs je ne les avais jamais vraiment testé, je ne savais pas trop comment faire).
De nos jours il faut penser à bien se protéger.
Merci Mathilde, n’hésitez pas si vous avez besoin de plus d’infos !
Bonjour,
J’ai bien lu votre article mais je suis un peu perdue…
J’ai le plugin better wordpress security qui me permet de faire des sauvegardes régulières de mon site. Je reçois donc par mail un fichier de backup sous forme de zip…
Mais au final, je viens de me rendre compte que je ne sais pas ce que contient exactement ce fichier ni comment l’utiliser.
Est ce que je pourrais l’utiliser en local pour voir comment se ferait une sauvegarde de mon site? Si oui, comment faire?
Merci!
Bonjour,
En dézippant votre sauvegarde, vous pourrez visualiser les fichiers sauvegardés. Si vous avez les fichiers wp-content, wp-include, wp-admin (surtout le premier), vous les installez sur votre site en local tels qu’ils le sont dans les installations WP. Si vous avez un fichier debase de données, vous devez l’importer dans la base de votre installation locale.
Bonjour,
Merci de votre réponse. mais en dézippant le fichier je n’ai qu’un fichier .sql que je ne peux pas ouvrir…je ne vois donc pas tous les fichiers que vous avez cités.
De même lorsque j’essaie d’importer ce fichier .sql dans php admin de mon serveur local (j’utilise MAMP) j’obtiens cette erreur…
Erreur
Requête SQL:
DROP TABLE IF EXISTS `wp_bwps_lockouts` ;
MySQL a répondu:
#1046 – No database selected
J’en viens même à me demander si ces backup programmés seront utilisables un jour en cas de problème…
My mistake! Je n’avais pas donné le bon nom à ma base de donnée!!
J’ai passé la 1ere étape 🙂
Merci pour vos conseils.
Bonjour… c’est ce que j’allais vous dire ! Après, pour les fichiers sauvegardés, cela dépende de votre plugin, peut-être ne gère t’il que la base de données, ou alors de votre configuration, que lui avez vous demandé de sauvegarder ?
Non, il n’y a rien à faire, je bloque après la première étape…
J’ai bien ma base de donnée qui a été importée.
Je travaille en local avec MAMP, donc je vais dans htdocs et je mets mon fichier wordpress. Je vais ensuite sur mon serveur local localhost/wordpress, ça me demande d’installer wordpress. je rentre les infos et quand j’arrive à « lancer l’installation » j’ai un message me disant qu’il semblerait que wordpress soit déjà installé…On me propose de me connecter, j’arrive à la fenêtre pour entrer mon identifiant (tjs en local) je vois mon site en local, mes articles sont là dans le dashboard etc.
Mais dès que je clique sur un article sur ma page d’accueil, cela me renvoie vers mon vrai site en ligne.
Je suppose qu’il y a qqch à faire avec les url mais je ne vois pas du tout quoi…
Si vous avez une idée je suis preneuse parce que j’aimerais vraiment y arriver…
merci
Pour l’étape 3 je rentre : http://localhost:8888/calliframe (idem dans « home » ) est ce que c’est juste?
Je ne comprends pas bien quand vous dites :
« adresse web du site dans l’admin WP »..
Merci
J’avais lu qu’il fallait copier le contenu du fichier backup dans le champ SQL mais euh comment dire, mon fichier zip totale backup du blog fait plus d’1 Go !
Sinon, j’ai demandé de l’aide directement à mon nouvel hébergeur. Peut-être peuvent-ils importer la base de leur côté ?
Réponse par mail
Je vais migrer mon blog vers un nouvel hébergeur, j’ai sauvegarder le tout via le plugin bakwpup, j’ai un gros fichier de sauvegarde gzipé, maintenant, je vais tester ta mécanique afin de cloner mon blog avant de migrer les DNS de mon ndd vers le nouvel hébergement… j’espère que ça ira !
Je suis limité en poids pour l’importation de données (Taille maximum: 32Mio) impossible donc de passer par là pour recharger mon backu.
Y a-t-il une ligne de commande pour importer une bdd via l’interface de requête SQL ? Merci
Il y a un moyen, dont je ne me souviens plus mais je te cherche ça..