Le plugin saveauto : sauvegarde automatique de la base de données de SPIP

Le plugin saveauto permet de réaliser automatiquement une sauvegarde de la base de données de SPIP selon une fréquence et des paramètres configurables.
Important! la version 0.5 (pour SPIP 2.*) ayant un gros bogue dans le déclenchement des sauvegardes, il est vivement conseillé de mettre à jour (au minimum version 0.5.1)

Un des soucis récurrent du webmestre d’un site sous SPIP c’est d’avoir la certitude qu’en cas de “crash” de son site (serveur planté, mauvaise manip...) il puisse récupérer l’ensemble des données de la base MySQL afin de pouvoir rétablir son site “à l’identique”.

Cela implique d’avoir une sauvegarde de cette base de données qui inclut tous les éléments saisis par les utilisateurs (articles, brèves, sites référencés, auteurs...) au fur et à mesure que ceux-ci enrichissent le contenu du site.

Alors si votre site est actif, à moins que vous ne soyez un forcené de la sauvegarde manuelle en utilisant l’outil intégré dans l’administration de SPIP, il y a fortes chances que votre dernière sauvegarde ne soit pas à jour...

Ce plugin, reprise d’une “vieille” contrib de Silicium (publiée à l’époque sur le site japanim.net), permet d’automatiser le processus de sauvegarde de votre base de données afin que vous n’ayez jamais à annoncer à vos rédacteurs que “...le serveur à planté, il va falloir refaire la saisie de vos n derniers articles...”.

1. Ce plugin permet :

  • de réaliser une sauvegarde complète de la base de données du SPIP selon une fréquence déterminée. Cette sauvegarde est au format .sql (ou gzippé si votre serveur le permet). Elle est totalement compatible avec le format des fichiers sql utilisés par votre phpmyadmin.
  • de paramétrer les tables à sauvegarder (ou au contraire à ne pas sauvegarder) : la sauvegarde étant réalisée au niveau de la base, par défaut elle comprend l’ensemble des tables (pas seulement celles de SPIP) mais vous pouvez configurer précisément les tables que vous désirez inclure dedans.
  • de stocker ces sauvegardes dans un répertoire de votre choix
  • d’envoyer les fichier de sauvegarde par mail à une adresse de votre choix
  • de configurer la “durée de vie” des fichiers de sauvegarde stockés

2. Installation du plugin saveauto :

En fonction de votre SPIP récupérez le zip correspondant sur https://plugins.spip.net/saveauto/, décompactez le et placez le dossier “saveauto_X_Y” obtenu dans votre répertoire /plugins (à créer à la racine de votre spip si nécessaire), rendez vous sur l’interface de gestion des plugins (menu Configuration > Gestion des plugins), cochez le plugin “saveauto” et validez.

Ce plugin ne modifie pas les tables de la base données de SPIP, il n’en crée pas de nouvelles : pour sa désinstallation complète, il suffira d’effacer le répertoire /plugins/saveauto.

3. Versions

Ce plugin existe en 4 versions : saveauto_1_9_2 pour spip 1.9.2, saveauto_2_0 pour spip 2.0.*, saveauto_2_1 pour spip 2.1.* et saveauto_3_0 pour spip 3.0.*.

[ v. 1_9_1 ]
Lorsque la configuration du plugin est modifiée (via l’interface d’administration) le fichier /plugins/saveauto/inc/saveauto_conf.php qui stocke le paramétrage des sauvegarde est réécrit : selon la configuration du serveur qui vous héberge, il sera peut être nécessaire de modifier ses droits afin que cette réécriture soit possible (en cas de problème vous en serez averti lors de la validation d’une nouvelle config par l’interface d’administration).


[ v. 1_9_2]
L’enregistrement de la configuration et l’interface de gestion de celle-ci est basé sur le plugin config (cfg). Ce plugin doit être installé et activé pour que saveauto_1_9_2 fonctionne. Ce plugin permet la sérialisation des données de configuration et leur enregistrement dans la table spip_meta (de cette façon il n’est plus nécessaire de gérer un répertoire à accès en écriture pour le serveur comme le fait la version saveauto_1_9_1).

[ v. 2_0]
Passage en version compatible SPIP 2.0.*. L’interface de configuration est désormais accessible via le menu Configuration > CFG > Saveauto (le bouton dans le menu à été supprimé vu s le peu de fois où il était utilisé dans la vie du site)

Pour l’instant pas d’incompatibilités repérées avec d’autres plugins (pas de surcharge des fichiers du core de spip).

[ v. 3_0]
Passage en version compatible SPIP 3.0.*.
L’interface de configuration est désormais accessible via le menu Configuration > Sauvegarde automatique avec de nombreuses nouvelles options (en particulier pour l’envoi par mail des sauvegardes).
Désormais dans la page Maintenance > Sauvegarder la base (ecrire/?exec=sauvegarder) il est possible de déclencher “manuellement” une sauvegarde et l’outil propose aussi:

  • une possibilité de déclenchement manuel
  • la liste des sauvegardes disponibles, téléchargeables

4. Fonctionnement obtenu lorsque l’on intègre ce plugin :

Les sauvegardes ne sont PAS déclenchées par un “programmateur” (spip_cron) mais sont lancées lorsqu’un utilisateur (auteur ou administrateur selon le paramètre “Sauvegarde déclenchée lors de la connexion d’un auteur”) se connecte dans l’espace privé. De cette façon tant qu’il n’y a pas d’accès à l’espace privé (cad que le contenu du SPIP ne change pas) il n’y a pas de création d’éventuels “doublons” des sauvegardes.

Interface de configuration et d’administration du plugin saveauto

En revanche à chaque connexion à l’espace privé, le script est lancé : il vérifie si le temps écoulé depuis la dernière sauvegarde est supérieur à la fréquence déterminée dans la configuration (paramètre “Fréquence de la sauvegarde”), et , si c’est le cas, crée un nouveau fichier de sauvegarde dans le répertoire indiqué par le paramètre “Répertoire de stockage” de l’interface d’admin.
Si l’option “Zipper le fichier de sauvegarde” est activée, le fichier sql généré est zippé (version 0.5.2 minimum).

Par défaut ces sauvegardes sont stockées dans le répertoire /tmp de votre SPIP, si vous modifiez ce paramètre vous devez vous assurer que le répertoire utilisé est autorisé en écriture pour le serveur (777 avec votre client FTP en général) et que le chemin (relatif à la racine de votre spip) indiqué se termine bien par un “/” (par ex. : /tmp/sauvegardes/).
Si vous utilisez un répertoire différent de celui par défaut, gardez à l’esprit que celui-ci devrait être sécurisé pour qu’il ne puisse pas être accessible depuis internet: les fichiers de sauvegardes contiennent l’ensemble des données des articles, rubriques, brèves publiés ou non (et là, pas question “d’accès restreint”...)

Si la configuration le précise (paramètre “Sauvegardes envoyées à l’adresse”) et si votre hébergement autorise la fonction mail() de php, le fichier de sauvegarde obtenu sera envoyé à l’adresse mail de votre choix. Il est conseillé d’installer le plugin Facteur pour ajouter le fichier de sauvegarde en pièce jointe.

En fonction du nombre de jours configuré dans le paramètre “Sauvegardes considérées obsolètes après”, le script va effacer les fichiers de sauvegardes dont l’âge est supérieur au nombre de jours configuré.

Les tables à sauvegarder (ou non) sont déterminées par les paramètres “Tables acceptées” et “Données ignorées” : par défaut le plugin sauvegarde toutes les tables (y compris celles qui n’appartiennent pas à SPIP) sauf celles dont le nom comprend “_index”, “_temp” ou “_cache” (qui sont utilisées par SPIP pour stocker des données volumineuses mais non-indispensables pour rétablir son intégrité : leur structure seule est sauvegardée).
De la même manière, le paramètre “Eléments à sauvegarder” permet de choisir (de façon globale) si vous voulez sauvegarder la structure et/ou les données des tables (option réservée aux administrateurs maitrisant ces concepts : si cela ne vous parle pas, choisissez “oui” pour les 2 choix proposés dans ce paramètre!).

Pour finir avec les options configurables vous pourrez également préciser :

  • le nom de la base de données de votre SPIP : ce paramètre ne sert qu’à composer le nom des fichiers de sauvegarde (par défaut de la forme : “nom_base_spip_2006”). De façon complémentaire le paramètre optionnel “Préfixe pour les sauvegardes” permet de composer des noms de fichiers encore plus complets : ce qui peut donner des noms de la forme “prefixe_nom_base_spip_2006”.
  • si vous souhaitez qu’un message s’affiche lorsque la sauvegarde à été effectuée (à éviter si vous choisissez de faire déclencher la sauvegarde lors de la connexion des auteurs...)

5. Restauration des sauvegardes à partir des fichiers générés par le plugin :

[*Attention !!!*] les sauvegardes réalisées ne sont pas au format de celles de SPIP : Inutile d’essayer de les utiliser avec l’outil d’administration de Spip.

Pour toute restauration il faut utiliser l’interface phpmyadmin de votre serveur de base de données : dans l’onglet “SQL” utiliser le bouton “Emplacement du fichier texte” pour sélectionner le fichier de sauvegarde (cocher l’option “gzippé” si nécessaire) puis valider.

Les sauvegardes xxxx.sql.zip ou xxx.sql sont au format SQL c’est à dire qu’ils contiennent les commandes permettant d’effacer les tables existantes du SPIP et de les remplacer par les données archivées. Les données plus récentes que celles de la sauvegarde seront donc PERDUES!

6. Ce qu’il reste à faire:

  • la sauvegarde des données de la base est une chose, mais de plus en plus les sites sous SPIP ont toute une partie de leur contenu sous forme de fichiers “annexes” (images, pdf, sons, images...) qui sont stockés dans le répertoire /IMG : il serait donc intéressant d’avoir la possibilité de faire une sauvegarde de ceux-ci sous forme d’un fichier compressé qui serait transféré par FTP sur un autre serveur (je n’imagine pas l’envoi par mail vu le volume que cela représente !)
  • les fichiers de langues pour les utilisateurs ne causant pas le french

Comme pour beaucoup d’autres plugins, afin de faciliter le developpement collaboratif, vous trouverez l’ensemble des fichiers en cours sur le SVN de spip-zone : avis aux motivés !

Discussion

75 discussions

  • exsssselent plugin,
    je voyais pas ma sauvegarde en passant par la restauration standard de Spip. Puis en lisant un peu mieux les xplications j’ai vu qu’il fallait passer par phpMyAdmin car c’est du sql et pas sqLite. Je viens de faire un restore et ça marche à merveille.
    Merci :)

    Reply to this message

  • Hello,

    Une petite remarque d’usage :
    dans la config du plugin tout en bas il y a “Ajouter le webmestre aux destinataires”
    Le bouton est coché par défaut donc je (webmestre) me dis OK je vais recevoir les notifications. En fait non, il faut décocher la case et saisir son email (webmestre) dans le champ au-dessus sinon on ne reçoit rien.

    dd

    Reply to this message

  • Bonjour,

    Sur ma version SPIP 3.0.16 avec le plugin mis à jour aujourd’hui, j’ai un tout petit bug : j’ai paramétré une occurrence de sauvegarde de 7 jours, et lors de ma tentative de sauvegarde, on m’affiche :

    La sauvegarde automatique est activée (fréquence en jours : 1). Et non 7, comme c’était censé l’être... cela dit, a priori pâ grâve...

    Reply to this message

  • Bonjour,

    Je me demande pourquoi mon saveauto ne marche pas ... 3.0.17 avec saveauto 1.1.7, donc tout à jour. Le chemin au dossier de sauvegarde est “../tmp/dump/” ce qui me semble ok. Les sauvegardes SQLite font dans les 25mo, donc je suppose que l’envoi par email (même zippé) risque d’être juste, mais rien n’apparait dans le dossier dump.
    Si j’essaye de déclencher en manuel, page blanche. Idem depuis liste des tâches “executer maintenant”, pas d’erreurs qui apparaissent dans spip.log.
    Si j’active des logs plus précis comme indiqué ci-dessus, la seule ligne qui parle de saveauto est:

    Jan 20 23:52:10 XX.XX.XX.XXX (pid 21714) :Pri:info: queue [687804]: genie_saveauto_dist() start

    Donc ça semble démarrer ... et c’est tout, nada. UNe idée de la direction dans laquelle je devrai chercher ?

    Reply to this message

  • Je fais remonter un point que j’avais pointé ...
    Quel est ce mystère que je viens à nouveau de rencontrer.
    Soit un site distant tournant sous la dernière version sable de la branche 2.1 que je souhaite dupliquer sur mon serveur local
    Si j’importe dans phpmyadmin local la base distante exportée par saveauto, je me retrouve avec des � un peu partout.
    Si j’importe dans phpmyadmin local une base exportée par le phpmyadmin distant, tout est OK.

    Quel est ce mystère mystérieux ? Est-ce que ça a un rapport avec ce que j’ai vu je ne sais plus trop où qui disait que ce souci de caractères touchait plus facilement les sites anciens (1.9) [qui avaient donc commencé leur arrière avant l’utf-8]

    Reply to this message

  • 1

    Salut et merci pour ce plug.

    Sous SPIP 3.0.17 [21515

    ?exec=configurer_saveauto n’est accesible qu’à la main, elle doit être absente dans

    dans le paquet...
    Merci
    ++
    • Effectivement l’utilisation de la page de configuration se fait suffisamment rarement pour qu’elle ne nécessite pas une entrée spécifique dans le menu “Configuration”.
      L’accès à cette page se fait donc via le bouton (icone marteau/tournevis) “configuration” de Saveauto dans la page “Gestion des plugins”.

    Reply to this message

  • Bonjour,
    Pour ma part depuis la MàJ du plugin en v.1.1.5 sur un SPIP 3.016, j’ai des envois par mails qui m’arrivent mais les messages sont incompréhensibles et aucune pièce jointe zippée n’y est jointe (ce qui fonctionnait parfaitement avec les versions précédentes).

    Voici ce que je lis dans ces mails :

    : 
    MIME-Version: 1.0
    Content-Type: multipart/mixed;
            boundary="b1_bbd0ff078538899cc00ade7da26760e2"
    
    --b1_bbd0ff078538899cc00ade7da26760e2
    Content-Type: multipart/alternative;
            boundary="b2_bbd0ff078538899cc00ade7da26760e2"
    
    --b2_bbd0ff078538899cc00ade7da26760e2
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    
    La sauvegarde de la base XXXXXXXXXXX a été effectuée avec succès par l’auteur .
    
    --b2_bbd0ff078538899cc00ade7da26760e2
    Content-Type: text/html; charset=utf-8
    Content-Transfer-Encoding: 8bit
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>[Nouveau site officiel de l'ADR][saveauto] Sauvegarde de la base XXXXXXXXX</title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
            <style type="text/css">
                    #outlook a {padding: 0;}
                    body {width: 100% !important;}
                    body {margin: 0;padding: 0;}
                    img {border: none;font-size: inherit;font-weight: bold;height: auto;line-height: 100%;outline: none;text-decoration: none;text-transform: capitalize;}
                    #backgroundTable {height: 100% !important;margin: 0;padding: 0;width: 100% !important;}
                    body, .backgroundTable {background-color: #DDDDDD;}
                    #templateContainer {border: 1px solid #CCCCCC;max-width: 600px !important;}
                    h1,.h1,h2,.h2,h3,.h3,h4,.h4 {color: #202020;display: block;font-family: Verdana, Geneva, sans-serif;margin-bottom: 0.5em;text-align: left;}
                    #templateHeader {background-color: #FFFFFF;border-bottom: 0;}
                    #templateContainer, .bodyContent {background-color: #FFFFFF;margin-top: 40px;}
                    .bodyContent {padding:30px;border-bottom:10px solid #d086ac;}
                    .bodyContent div {color: #222222;font-family: Verdana, Geneva, sans-serif;line-height: 150%;text-align: left;}
                    .bodyContent div a:link, .bodyContent div a:visited {color: #336699;font-weight: normal;text-decoration: underline;}
                    .bodyContent img {display: inline;margin-bottom: 10px;}
                    .bodyContent img.puce {display: inline;margin-bottom: 0;}
                    hr { height: 1px; margin: 1.5em 0; border: 0; background: #222222; color: #222222; }
                    .spip_code, .spip_cadre {color: #606060;font-family: Courier,"Courier New",monospace;font-size: 1em;word-wrap:break-word;max-width: 100%;overflow: auto;}
                    .coloration_code ol {list-style: none;}
                    .spip_logos {float: right;margin-left: 10px;}
                    .text {word-wrap:break-word;}
                    .header,.footer {padding: 20px 40px;margin-left: -40px;margin-right: -40px;}
                    .text > .header:first-child {margin-top: -40px;}
                    .header {background: #e9e9e9;}
                    .footer {border-top:2px solid #e9e9e9;margin-top: 40px;}
                    .header hr,.footer hr {display: none}
                    @media only screen and (max-width: 600px) {
                            html,body {width: 100% !important;}
                            body, .backgroundTable {background-color: #ffffff !important;}
                            .bodyContent {padding:0 0 10px !important;border-top:0;border-bottom:0;}
                            #templateHead {display: none}
                            #templateContainer {width: 100% !important;border: 0 !important;margin-top: 0}
                            #templateBody {width: 100% !important;}
                            .padding {padding-left:0 !important;padding-right:0 !important;}
                            .text {color: #101010 !important;}
                            .header,.footer {padding: 10px;margin-left: -10px;margin-right: -10px;}
                            .text > .header:first-child {margin-top: -10px;}
                    }
                    @media only screen and (max-device-width: 480px) {
                            html,body {width: 320px !important;}
                            body, .backgroundTable {background-color: #ffffff !important;}
                            .bodyContent {padding: 0 0 10px !important;border-top:0;border-bottom:0;}
                            #templateContainer {width: 320px !important;border: 0 !important;margin-top: 0;}
                            #templateBody {width: 320px !important;}
                            .padding {padding-left:0 !important;padding-right:0 !important;}
                            .text {color: #101010 !important;}
                    }
            </style>
    </head>
    <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"
                            style="margin: 0;padding: 0;width: 100% !important;">
    <center>
            
            <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="backgroundTable"
                                     style="margin: 0;padding: 0;height: 100% !important;width: 100% !important;">
                    <tr>
                            <td align="center" valign="top">
                                    <!-- // End Template Preheader \\ -->
                                    <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer"
                                                             style="border: 1px solid #CCCCCC;background-color: #FFFFFF;max-width: 600px !important;">
                                            <tr id="templateHead">
                                                    <td class="headContent" style="padding:10px 40px;background: #d086ac;"><strong style="color:#fff;text-transform:uppercase">Nouveau site officiel de l'ADR</strong></td>
                                            </tr>
                                            <tr>
                                                    <td align="center" valign="top">
                                                            <!-- // Begin Template Body \\ -->
                                                            <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody">
                                                                    <tr>
                                                                            <td valign="top" class="bodyContent" style="background-color: #FFFFFF;padding:30px;">
    
                                                                                    <!-- // Begin Module: Standard Content \\ -->
                                                                                    <table border="0" cellpadding="10" cellspacing="0" width="100%">
                                                                                            <tr>
                                                                                                    <td valign="top">
                                                                                                            <div class='text' style="color:#222222;font-family: Verdana, Geneva, sans-serif;font-size:100%;line-height:150%;text-align:left;word-wrap:break-word;">
                                                                                                                    <p>La sauvegarde de la base XXXXXXXXXX a été effectuée avec succès par l'auteur .</p><br /> <br />
                                                                                                            </div>
                                                                                                    </td>
                                                                                            </tr>
                                                                                            <tr>
                                                                                                    <td align="left" valign="top"
                                                                                                                    style="color:#A39F9A !important;font-family: Verdana, Geneva, sans-serif; !important;font-size:90% !important;font-weight:normal !important;font-style:normal !important;text-decoration:none !important;vertical-align:top !important;text-align:left !important;">
                                                                                                            <br/>
                                                                                                            <br/>
                                                                                                            &mdash; Envoyé par <a href="http://www.jpm.adr.com/">Nouveau site officiel de l'ADR</a>
                                                                                                            <br/>
                                                                                                    </td>
                                                                                            </tr>
                                                                                    </table>
                                                                                    <!-- // End Module: Standard Content \\ -->
                                                                            </td>
                                                                    </tr>
                                                            </table>
                                                            <!-- // End Template Body \\ -->
                                                    </td>
                                            </tr>
                                    </table>
                                    <br>
                            </td>
                    </tr>
            </table>
    </center>
    </body>
    </html>
    
    --b2_bbd0ff078538899cc00ade7da26760e2--
    --b1_bbd0ff078538899cc00ade7da26760e2
    Content-Type: application/zip; name="adr-_XXXXXXXXXXXX_20140623_210859.sql.zip"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="adr-_XXXXXXXXXXXX_20140623_210859.sql.zip"
    
    UEsDBAoAAAAIACCp10RPsdqNcV4HAN7PKAApAAAAYW5kYXItX3BvbHlhcnRobmV3YWRyXzIwMTQw
    NjIzXzIxMDg1OS5zcWzsvUtzI0eSLrovs/4PMeq+XaxpEIV8AomWqoUiUVVs8SU+pNaodKlEIkBm
    KZEJ5YOqp9nsrvX6rs5u7G5O14zZuXcxu7Nr/pP5JdfdI/KFF0EyxO5poaxIApmRkRHu/rl7hHtE
    /JptcTbyvQufx4wnKTvnIY85m7gxC+BPkJ37ITt2L7mbpdGDX7OnbsL/+m9dNomCN26cXoT8J3cY
    w41jHl/yLMZ7P/30U/PVZNzMy8R+yjfdcOjGTS8aQ9ltN6VKdIO9yqB+vaWZ7OrfmK5dtDpjP4Qi
    B8fVGnf9MHvNfuKDsa7pzbbeal64zejyohnylBlNrdXUjc3zOOHe5kWUpH54vjnI/GCobcIz7Nda
    q8WO9w7Zs9hne+4bptlM07tmp2tpbKt/fCIa8Lpjn9kmvPsrHid+FLLDF4f4cqtpNnWncn3vzfGX
    etc...
    
    ...NTI7czoyMToic3BpcF92aXNpdGVzX2FydGljbGVzIjtpOjUzO3M6MTA6InNwaXBfem9uZXMiO2k6
    NTQ7czoxNjoic3BpcF96b25lc19saWVucyI7fX0=
    
    --b1_bbd0ff078538899cc00ade7da26760e2--


    Les XXXXXXXXXXXX remplace le vrai nom de la base...

    Aurais-tu une solution ?
    T’en remerciant par avance.

    Reply to this message

  • 16

    Bonjour,

    pour ma part, depuis la MAJ vers spip 3.0.13, la sauvegarde régulière ne se fait pas.

    Mes dossier tmp et dump sont en 777, les sauvegardes manuelles fonctionnent bien. Je n’arrive pas à voir d’où vient le problème.

    • Idem pour moi apparemment (spip 3.0.14, saveauto 1.1.3, plusieurs sites en mutualisation spip)

    • Pour aller plus loin dans le débogage de ce problème, il faudrait tester le déclenchement de la tache de sauvegarde via l’utilitaire de gestion des tâches cron de SPIP (job_queue) et scruter les éventuelles erreurs.
      Pour cela:

      • passer le niveau de logs au maximum: créer/modifier le fichier .../config/mes_options.php pour lui ajouter
        define('_LOG_FILTRE_GRAVITE', 8);
        cf http://www.spip.net/fr_article5543.html#_LOG_FILTRE_GRAVITE
      • via le menu “Maintenance” > “Liste des travaux” accéder à la page “Liste des travaux” (...ecrire/?exec=job_queue) et déclencher la “Tâche CRON saveauto” avec le bouton “Exécuter maintenant”.
      • consulter immédiatement les dernières lignes du fichier .../tmp/log/spip.log pour trouver une éventuelle erreur de saveauto
    • Hello, voici le résultat de la manip, pas contre impossible de comprendre quoi que ce soit :/ je suis une bille ...

      visible via ce lien :
      https://www.dropbox.com/s/hvr6ts7l6cxus75/spip_log.rtf

    • comme constaté via IRC et pour fermer ce fil de discussion, il semblerait que les sauvegardes et l’envoi des messages avec le zip soient OK (cf “Executer maintenant” de saveauto dans Maintenance / Liste des travaux) mais que le site n’ayant pas une fréquentation suffisante, le cron SPIP ne se déclenche pas.
      Pour ceux qui seraient dans ce cas et qui ont un accès à l’administration des crons de leur serveur, une solution est d’utiliser le “supercron”: cf http://www.mediaspip.net/documentat...

    • Merci pour les précisions.
      A partir de quand la fréquentation est suffisante ? Là j’ai des sites avec 100, 200, 300 visites par jour, et la sauvegarde auto régulière ne se fait pourtant pas (spip 3.0.13).
      Mais peut-être que ça vient du fait qu’ils sont en “mutualisation du noyau spip” ? (le chemin qui se met automatiquement dans la config Sauvegardeauto étant “../sites/mesdomaines.net/tmp/dump/”)

      Pourtant, j’ai un autre site spip en 30.13 standard (installation unique), mais rien ne se sauvegarde non plus, celui-ci à très peu de visites en revanche, mais rien ne se sauvegarde aux connections admins ni aux moments des modifications de contenus du site.

      Apparemment, sur mon hébergeur Gandi Simple hosting, il y a anacron pour programmer des tâches, mais je ne connais pas, jamais utilisé ces fonctions là...

    • Après avoir activé l’envoi par email des zip de sauvegardes régulières, j’ai testé “Executer maintenant » de saveauto dans Maintenance / Liste des travaux”, et là en effet j’ai bien reçu le mail avec la base.

      Donc, je vais passer mes sites en envoi par mail des zip pour mes sauvegardes régulières, et là ça devrait marcher ?

    • en principe si le déclenchement manuel de la sauvegarde via job_queue est OK (Maintenance > Liste des travaux) alors la sauvegarde par cron devrait faire exactement le même résultat. Si ce n’est pas le cas cela est quasi forcément lié à un non-déclenchement du cron SPIP.
      En principe une fréquentation même faible doit suffire.

    • Ok, donc les envois auto des bases zippées par email devraient marcher, d’ailleurs je crois que j’en ai eu un déjà.

      En revanche, en cas de sauvegarde auto dans un dossier dump, l’activation manuelle d’une sauvegarde dans “Maintenance > Liste des travaux” ne donnait rien dans dump.

    • Rectification, les envois auto des bases zippées par email ne marchent pas non plus, je n’en ai pas reçues. Ca fonctionne seulement si on clique sur le bouton dans la liste des travaux

    • pour ma part sur un site avec 200 à 300 visites par jour, je n’ai effectivement plus de sauvegarde automatique, le cron ne tournant plus. Peut-être un souci avec SPIP?

      Vu que cela date de la version 3.0.13 c’est sans doute qu’un changement à eu lieu.

    • Je confirme : sur un site avec une cinquantaine de visites par jour, plus de sauvegardes automatiques depuis la mi-janvier. Donc, à priori depuis SPIP 3.0.13 ou 3.0.14 (je ne me souviens plus quand j’ai fait la mise à jour).

    • Bonjour,

      Pour moi non plus les sauvegardes automatiques ne fonctionnent plus (pas de dump généré, pas d’email envoyé) sur des sites en SPIP 3.0.16 [21266] avec ce plugin version 1.1.4 SVN [82084]. Dernière sauvegarde par CRON dans les logs : 04/04/14
      Les sites ont pour les 2 plus gros 600 visites/jour en moyenne.

      Le déclenchement manuel de la sauvegarde fonctionne (mais pas de mail reçu)
      La réinitialisation des tâches cron n’y change rien.
      C’est bien bloquant car cette méthode a(vait) l’avantage de générer des dump SQL et pas Sqlite (sqlite fout le bazar dans l’encodage des caractères).

      Si c’est aidant je veux bien envoyer des logs.

      dd

    • Le pb n’était pas dans la mise à jour de SPIP, mais bien dans celle du plugin, qui a eu lieu en même tps. La version 1.1.5, qui devrait être disponibles dans la mise à jour automatique des plugins après 18h30 devrait résoudre ce pb (cf http://zone.spip.org/trac/spip-zone/changeset/82617).

    • Tout remarche parfaitement pour moi depuis la MAJ.
      Suppression des anciennes sauvegardes : Ok
      Sauvegarde automatique CRON : OK

      Merci

    • alors honte sur moi pour cette maj pas suffisamment testée...
      ...et merci Maïeul pour le débogage!

    • Tout est rentré dans l’ordre depuis la dernière maj. merci !

    Reply to this message

  • 2

    Bonjour,
    Je viens d’installer la dernière version 1.1.3, dans le menu de sauvegarde automatique il est est indiqué:
    souhaitez choisir précisément les tables à sauvegarder (ainsi que des tables non SPIP) ouvrez la liste en décochant la case ci-dessous...
    Mais lorsque je décoche la case, il ne me propose que les tables spip du site courant.
    Les tables spip des sites mutualisés n’apparaissent pas ainsi que les tables extra!
    Il faudrait une case à cocher pour proposer de sauvegarder toutes les tables de la base sans exception!
    C’est si difficile que ça à faire?
    Sans cette option, ce plugin ne m’est d’aucune utilité.
    Merci.

    • C’est si difficile que ça à faire ?

      oui c’est difficile de faire du débogage de fonctionnalités que l’on ne maintient que pour un très petit nombre d’utilisateurs (un seul semble-t-il dans ce cas...) surtout quand ceux-ci font des rapports de bogues aussi peu précis et sur un ton aussi désagréable que celui de tes commentaires!
      Bref, la version 1.1.4 devrait corriger ce problème: merci de tester et de faire un retour précis et détaillé si ça ne convenait toujours pas...

    • je plussoie à cy_altern. Les dev de plugins ne sont pas aux services des raleurs...

    Reply to this message

  • 2

    Salut,

    j’ai un truc bizarre : ma BDD est en UTF-8, mais le .sql produit encode mal l’UTF-8, j’ai des signes cabalistiques.

    Une idée de la cause possible ?

    • J’ai un souci similaire. Je ne sais pas si c’est le même, mais, disons que j’ai aussi un gros souci de caractères accentués. J’avais d’ailleurs posé un commentaire (voir au 10 avril) :
      Si j’importe dans phpmyadmin un base exportée par saveauto, je me retrouve avec des � un peu partout.
      Si, au contraire, j’exporte la base originale par phpmyadmin puis que je l’importe par phpmyadmin, l’importation se déroule sans souci (=par de souci avec les caractères accentués)...
      Quel est ce mystère mystérieux ?
      @Maïeul : est-ce pareil pour toi ?

    • Un petit up… (Pas de réponse… elle était pas bien notre petite question ?

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom