Ciel ! Mon backup WordPress ne marche plus !

Le backup WordPress qui planteJ’ai le backup WordPress qui plante…

 

je ne me sens pas très bien… Pour ceux qui ont plus de 20 ans cela peut rappeler une vieille chanson. Mais pour tous cela rappelle de mauvais souvenirs quand le plugin que vous utilisez pour faire les backup de votre blog WordPress plante.

Moi cela m’arrive avec le plugin WSD Security.

Ce plugin génère un fichier XML contenant votre blog ! En cas de problème vous pouvez utiliser ce fichier pour restaurer le blog.

Eh bien, ce plugin n’arrivait plus à générer le backup.

 

Savez-vous à quoi c’était dû ?

 

Quand il y a trop de données en base il s’embrouille. Notamment, à cause des spams, mais pas que.

Le plugin Akismet fait le trie entre le bon grain et l’ivraie, aka les spams.

Mais il remplit la table wp_commentmeta.

Et si vous avez beaucoup de spam celle-ci grossit, grossit ! Et plus de backup !

 

Vider la table wp_commentmeta

Première solution, vider et optimiser cette table, au moins quand vous « poubellisez » les spams. Optimiser cela veut dire reconstruire les index de façon à ce que les requêtes sur cette table soient plus rapides.

 

Pour cela, éditez le fichier wp-admin\edit-comments.php et ajoutez les deux lignes en jaune à l’endroit indiqué.

 

if ( $doaction ) {
check_admin_referer( ‘bulk-comments’ );

if ( ‘delete_all’ == $doaction && !empty( $_REQUEST[‘pagegen_timestamp’] ) ) {
$comment_status = $wpdb->escape( $_REQUEST[‘comment_status’] );
$delete_time = $wpdb->escape( $_REQUEST[‘pagegen_timestamp’] );
$comment_ids = $wpdb->get_col( « SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = ‘$comment_status’ AND ‘$delete_time’ > comment_date_gmt » );
$doaction = ‘delete’;

$wpdb->query(« DELETE FROM wp_commentmeta WHERE meta_key LIKE ‘%akismet%' »);
$wpdb->query(« OPTIMIZE TABLE  wp_commentmeta »);

 

Vous pouvez lister les spams dans la table wp_comments avec la requête :

SELECT *
 FROM wp_comments
 WHERE comment_approved = 'spam'

 

Autre plugin en cause

J’ai aussi un plugin appelé « Thank Me Later« . Il remplit la table wp_ipsubscribe chaque fois qu’il y a un spam.

 

Il est donc possible d’exécuter dans la console de MySQL cette requête pour vider la table :

 

delete from wp_ipsubscribe where email not in (select comment_author_email from wp_comments

 

Vous pouvez aussi l’intégrer dans le fichier ci-dessus.

$wpdb->query(« delete from wp_ipsubscribe where email not in (select comment_author_email from wp_comments »);

 

Avez-vous trouvé cela utile ?

Image : Keerati FreeDigitalPhotos.net
 

Comments ( 6 )

  1. Edwige
    Ma question va peut-être paraître bête mais je pensais qu'OVH avait cette fonction backup? Que dans les 30 euros que l'on paye par an, il y avait au moins ce service. Ça arrive souvent qu'un blog plante? Edwige Article récent : Vous aussi, organisez vous-même vos voyages !My Profile
    • Michel de Changer Gagner
      Bonjour Edwige. Les hébergeurs font des backups mais mieux vaut ne pas compter dessus et être capable de tout reconstruire tout seul. Le risque n'est pas tellement que le blog plante, quoi qu'une fois j'ai perdu un petite site hébergé gratuitement à cause d'une manip de l'hebergeur, mais plutôt qu'il soit attaqué par un pirate.
  2. Marjorie@Histoire à Vivre
    Bonjour Michel, Ah, la vieille angoisse de voir son site piraté... Pour ma part, je reçois régulièrement des annonces par mail de gens bien intentionnés (zont vraiment que ça à faire ?) qui ont essayé de se connecter à mon admin. 16 tentatives de connexion et les voilà bloqués pour 24 h. J'ai toujours cette petite appréhension qu'ils arrivent à percer mon code (j'ai mis des maj et d'autres signes), surtout s'ils emploient un logiciel ou je ne sais quoi... J'aimerais bien qu'existe un site où on puisse dénoncer ces petits malins dont on a l'adresse IP, il me semble que ça n'existe pas... J'ai donc ce plugin qui me permet de savoir si on tente de se connecter trop souvent à mon admin (je ne sais plus le nom : peut-être TimThumb Vulnerability Scanner ?). Et j'avais aussi un plugin qui me transmettait automatiquement, chaque soir, une sauvegarde de mon site... jusqu'au jour où ça n'a plus fonctionné, je recevais des messages de "failed", et je n'y comprenais goutte. J'ai ensuite fini par piger que le plugin déconnait, sans en connaître la cause, et je l'ai supprimé. Je vais donc, grâce à ton article, en remettre un et faire comme tu dis en insérant les lignes de code dans le fichier edit php. Beau week-end ! Marjorie Marjorie@Histoire à Vivre Article récent : 17 Histoires Extraordinaires Pour Votre EtéMy Profile
  3. Marjorie@Histoire à Vivre
    Bon, ben j'ai pas dû faire comme il faut, je ne peux plus accéder à mes commentaires. Ca me dit : Parse error: syntax error, unexpected T_STRING in /homez.429/histoireye/www/wp-admin/edit-comments.php on line 27 Il y a donc une erreur à la ligne 27, normal j'ai rajouté ce que tu as dit. Bon, je reviens comme avant :3 Marjorie@Histoire à Vivre Article récent : 17 Histoires Extraordinaires Pour Votre EtéMy Profile
    • Michel de Changer Gagner
      Bonjour Marjorie ! L'erreur contient T_STRING. Il ne s'agit pas du tout de sous-vêtement ou de maillot :-). T c'est pour type et string pour chaîne de caractères. Dans la plupart des langages informatiques, y compris PHP, les chaînes de caractères sont des variables de type string. De plus c'est une erreur de parsing. Cela signifie que le langage n'a pas réussi à comprendre la ligne 27. Cela peut provenir de mauvais espaces ou de mauvais guillemets. Parfois le logiciel ou le PC ou le Mac remplace les guillemets. Essaie de copier exactement les caractères. Cela peut aussi être dû au fait que tes tables de base de donnée ont un autre préfixe qui n'est pas wp_. Si cela ne marche toujours pas envoie-moi le bout de code avec quelques lignes avant et après via le formulaire de contact. A plus
      • Marjorie@Histoire à Vivre
        Bonjour Michel, Oui, je sais que c'est une "erreur" à la ligne 27, mais je ne sais comment la corriger, je ne maîtrise pas encore tout ça. Je dois régler d'autres problèmes pour l'instant, car tout mon site a planté depuis que j'ai simplement voulu mettre à jour 2 extensions, j'ai une erreur fatale à la ligne 121. On m'a conseillé de renvoyer les originaux du fichier includes et wp-settings.php, ceux de mon WP, sur mon serveur. Belle journée Marjorie

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CommentLuv badge