{{indexmenu_n>5}} # Restaurer un pad supprimé ## Préambule Les pads sont consommateurs d'espace en base de données. Chaque caractère donne quasiment lieu à une nouvelle entrée en base. Pour des raisons de performance, il est souhaitable de garder une taille de base de données raisonnable. Pour cette raison, les pads qui ne sont pas actifs sont automatiquement supprimés après un certain délai (à ce jour, 2 ans sur l'instance principale et 15 jours sur l'instance `week`). La suppression se fait grâce à une tâche qui tourne régulièrement dans un conteneur Docker séparé. Le dépôt est [ici](https://gitlab.utc.fr/picasoft/projets/delete-pad-after-delay). Cette méthode est préférable pour les instances de "grande taille", car la boucle de suppression intégrée au plugin ralentit considérablement l'instance. Ici, via les appels à l'API assez lents, le script ne ralentit pas l'instance. Il arrive que des utilisateurices perdent l'accès à un pad parce que les 15 jours sont passés trop vite. Heureusement, le script exporte une copie HTML du pad. ## Récupérer et restaurer le pad D'abord, identifier l'instance, se rendre sur la machine où elle tourne, dans le dossier de déploiement (voir [[technique:docker:picasoft:start|gestion des services]]). Ensuite, se rendre dans le conteneur qui fait tourner le script de suppression : ``` $ docker-compose exec delete-pad-after-delay bash ``` Tous les pads supprimés se trouvent dans le dossier `/opt/etherpad-lite/deleted_pads`. On s'y rend : ``` # cd /opt/etherpad-lite/deleted_pads ``` Les pads sont répartis dans une arborescence en fonction des premières lettres de leur identifiant. Un timestamp est adjoint à leur nom. On utilise une commande `find` pour chercher le pad, par exemple pour un identifiant `super_réu` : ``` # find ~+ -type f -name "super_réu*" /opt/etherpad-lite/deleted_pads/S/U/p/super_réu-1609281626000.html ``` Attention à l'`*` pour ne pas rater un fichier. On peut alors sortir du conteneur et le copier dans un fichier temporaire : ```bash docker cp $(docker-compose ps -q delete-pad-after-delay):/opt/etherpad-lite/deleted_pads/S/U/p/super_réu-1609281626000.html /tmp/pad.html ``` Ensuite, on peut le `rsync` sur son poste de travail, par exemple : ```bash rsync login@pica01.picasoft.net:/tmp/pad.html . ``` Enfin, on se rend sur l'URL du pad qui a été supprimé, et on utilise la fonctionnalité d'import HTML pour restaurer le pad. {{ :technique:adminserv:etherpad:import_pad.png |}} À ce stade, le pad est restauré ainsi que le formatage, mais pas les révisions !