[Mémo] Nettoyer toutes traces des prévisualisations dans Nextcloud

  • Auteur du sujet Auteur du sujet EVO
  • Date de début Date de début
  • Vague de SPAM

    Suite à une vague de spam sur le forum, les inscriptions sont temporairement limitées.

    Après votre inscription, un membre de l'équipe devra valider votre compte avant qu'il ne soit activé. Nous sommes désolés pour la gêne occasionnée et vous remercions de votre patience.

EVO

Administrateur
Membre du personnel
25 Novembre 2019
11 378
2 663
303
/var/run/docker.sock
[Mémo] Nettoyer toutes traces des prévisualisations dans Nextcloud

Contexte : Suite à ma migration vers Nextcloud 33, j'ai commencé a avoir des instabilités, uniquement lors de la navigation Web et principalement lors de la consultation de dossiers avec des images. Lenteurs , plantage, Nextcloud inaccessible pendant quelques minutes, voir reboot du conteneur obligatoire, ...
L'origine est dû à une mauvaise gestion des miniatures d'image ( preview ). la méthode de "classement" semble avoir changé il y a quelques versions déja, mais Nextcloud 33 semble apporter un breakchange ( non voulu ), et ne gère plus correctement l'ancienne méthode de classement des preview.

Un correctif semble prévu pour 33.0.1, vous pouvez désactiver les previews dans votre config.php en passant enable_previews sur false en attendant :

Code:
'enable_previews' => false,

( Redémarrer le conteneur / .. pour la prise en compte )

Cependant, si vous ne souhaitez pas attendre, il est possible de nettoyer entièrement les previews, pour repartir proprement ( et donc seulement sur la nouvelle méthode de classement ).

> Dans tous les cas, je vous suggère de désactiver les previews pendant ces étapes afin de vous assurer que Nextcloud est stable.

Pour cela, il faut supprimer l'ensemble des previews actuellement générées :
( Pour info elles sont dans /data/appdata_<id>/preview )

Code:
occ preview:cleanup

Malheureusement, les entrées des previews peuvent être toujours présentes dans la base de données ( table oc_filecache ), il faut donc ensuite ce connecter a la base de données, par exemple avec adminer, puis supprimer les entrées :
Code:
DELETE FROM oc_filecache WHERE path LIKE 'appdata_ocge4bpxpgxo/preview/%';

Dans la ligne "appdata_ocge4bpxpgxo/preview/%" , il faut adapter appdata_ocge4bpxpgxo au nom de votre répertoire appdata, l'id n'étant pas le même pour tout le monde. Cela peut prendre du temps si vous avez beaucoup de previews, il faut garder la fenètre ouverte et attendre.

Une fois fait, retour en SSH, pour exécuter un scan d'appdata :
Code:
occ files:scan-app-data

Voila, maintenant les previews sont entièrement nettoyé du stockage et de la base de données. Vous pouvez donc re-activer les previews dans config.php, et Nextcloud va recommencer à les générer lors des consultation des pages ou utiliser previewgenerator pour les générer en avance.

Source: https://github.com/nextcloud/server/issues/55709
 
  • J'aime
Réactions: MilesTEG