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.
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 !
Discussions par date d’activité
79 discussions
Merci sur ce plugin qui fonctionne très bien !
Par contre, il n’accepte pas de comprimer, alors que les sauvegardes de Spip se font en .gz
Quelqu’un d’autre a t’il ce souci ?
Merci
tous les utilisateurs qui n’ont pas l’extension gzip de php installée sur leur serveur ont ce soucis : les sauvegardes de SPIP utilisent la bibliothèque PCLzip (dans le fichier /inc/pclzip.php) donc ne nécessitent pas cette extension php (rarement présente sur les serveurs mutualisés).
La seule solution est de réécrire le mécanisme de compression de la sauvegarde pour utiliser cette bibliothèque : si quelqu’un est intéressé/volontaire, il est le bienvenu !
Répondre à ce message
Bonjour,
j’ai récupéré mes données grâce à ce script, encore merci !
Mais j’ai tous les accents é, è etc, replacés par des ?? je récupère en ascii, en uft8 ce sont des caractéres illibles, cette fois ci j’ai retapé les caractères, mais pour la prochaine fois je voudrais savoir d’ou vient le pb !
Merci
Est-ce toujours le cas ?
Peut on éviter ca ?
up.
Ce plugin est carrément genial, mais s’il faut effectivement remplacer tous les signes avec accents, c’est pas tres optimal. Une solution pour faire face a ca ?
Personne d’autre n’a eu ce souci ?
Bonjour,
Effectivement, quand je récupère en utf8 les é, è etc sont remplacés par des ?, si je récupère en ascii par des ??, mais si je récupère en Latin1 tous mes caractères sont impeccables.
Bonjour,
Le Latin-1 (ou iso-8859-1) améliore les choses mais ne restitue pas le oe ou œ. Existe il une solution ?
Répondre à ce message
Bonjour,
les sauvegardes zippées ont une taille très variable selon les jours : cela va du simple à 10 fois plus.
C’est normal ?
Répondre à ce message
Pour info :
SPIP 1.9.3 dev [11312]
Warning : array_merge() [function.array-merge] : Argument #2 is not an array in /home/bachantinfo/plugins/auto/cfg/inc/cfg_formulaire.php on line 262
@micalement stéphane
Normal : ce plugin n’est pas sensé fonctionner en 1.9.3 : voir l’introduction de la partie « 2. Installation du plugin saveauto : » => merci de lire la doc lorsque tu utilise un plugin !
sur SPIP 1.9.3 dev [11724]
cela fonctionne je reçoit bien le mail ; juste que la base sql est a la racine au lieu du repertoire tmp/
pour le repertoire squelettes ; plugins ; img ; une idée de sauvegarde ?
@micalement stéphane
Répondre à ce message
Bonjour,
Je penser bien qu’un jour j’allais devoir récupéré ma base grâce au plugin ; j’en profite pour vous remercier ceci est bien pratique.
Mais voilà, je constate que tous les accents é, è etc, dans les Titres de rubrique et d’article sont remplacés des ??
Je confirme que les textes des articles eux ne sont pas impactés
Par contre le texte Description du site lui est aussi impacté par le phénoméne
Personne d’autre n’a eu ce souci ?
Cmment remedier au probléme ?
Je rajoute que : Post-Scriptum sont aussi impacté ; ainsi que les noms des auteurs et le Chapeau ....
si ça peu aider a amélioré le plugin
Bon ben c’est pas tous ça faut reprendre le titre et les Post-Scriptum des 61 articles
je suis en :
SPIP 1.9.2b [9381]
Répondre à ce message
Bonjour,
Lors de la sauvegarde automatique, il me crée un fichier _2007_08_24.sql à la racine de mon site spip.
Or, dans la configuration, je lui ai demandé de la sauvegardé dans le répertoire ’tmp’.
Et dans ce répertoire, il ne me met que la verison compacté en GZ.
Serait-il possible aussi de créer le fichier SQL dans le répertoire configuré ?
merci d’avance
Répondre à ce message
saveauto fonctionne t il avec Mysql 5 ?
Répondre à ce message
Bonjour, sur mon site <http://mathazay.free.fr/spip/> en 1.9.2, impossible de sauvegarder en compressé avec expédition par courriel, sur mon site <http://zaystedinfos.free.fr> en 1.8.3 pas de problème avec le script.... Comment pourrais-je modifier le greffon pour récupérer les possibilités du script avec Free ?
Répondre à ce message
Bonjour, j’ai migré en 1.9.2 et j’ai toujours une page blanche à l’activation du greffon... une incompatibilité avec Free ? http://mathazay.free.fr/spip/
Rectificatif... j’ai installé le greffon cfg et ça semble bien fonctionner (hélas pas de compression avec Free).
Répondre à ce message
Bonjour,
Super pratique ce plugin. Un seul léger bémol, lorsque le fichier de sauvegarde m’est envoyé par email,
je recois en même temps un autre email m’indiquant ceci :
----- The following addresses had permanent fatal errors -----
(reason : 554 : Relay access denied)
Un rapide grep dans les fichiers du plugin indique que l’envoi de cet email est bien lié au plugin.
Comment s’en débarrasser ??
Merci
C’est simplement que le test de la possibilité d’envoyer des mails par le serveur qui héberge ton spip est fait de la façon la plus basique : en essayant d’envoyer un mail à une adresse bidon (toto@truc.net)...
Alors 2 solutions :
par
Bien évidemment ma préférence va à la deuxième solution ;-)
Quand j’effectue les deux modifications... page blanche en partie privée...????
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |