Recherche script pour supprimer les fichiers orphelins d'un forum phpBB

Fonctionnement du forum. Présentations.
Répondre
Avatar de l’utilisateur
JefKayak
Membre
Membre
Messages : 16
Inscription : 03 févr. 2018, 22:50
Status : Hors-ligne

Bonjour,
je recherche un script pour supprimer les fichiers orphelins d'un forum phpBB
dans le répertoire /files de mon forum phpbb, j'ai de nombreux fichiers orphelins (plusieurs gigas, non attachés à un message).
Je souhaite les supprimer pour alléger les sauvegardes, je pourrais économiser 20 gigas sur l'ensemble de mes forums de guitare.

La liste des fichiers joints aux messages est stockée dans la table phpbb_attachments de la base de donnée de mon forum,
les noms de fichiers sont du genre :
05b_bourre_bwv996__johann_sebastian_bach_192.mp3
1000_496__vb.jpg
53475_78d9531a022bfed5c0cde6e60598460cv
39079_adfce57d2f031f4edda9679b2259e0g51
je peux extraire cette liste dans phpmyadmin avec la requete SQL :
SELECT physical_filename FROM `phpbb_attachments`


Existe-il déjà un script qui supprime les fichiers orphelins et conserve ceux qui sont listés dans la base de données.

Pouvez-vous m'indiquer où j'ai le plus de chance de trouver ce genre de script sachant que j'ai déjà cherché sur phpBB sans succès ?
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4966
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Qu'est-ce qui a créé tous ces fichiers orphelins ?
Il y a tant de fichiers orphelins que tu ne peux pas les supprimer dans le PCA ?

Image
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
JefKayak
Membre
Membre
Messages : 16
Inscription : 03 févr. 2018, 22:50
Status : Hors-ligne

Bonjour lol,
voilà comment ça c'est passé.
Je faisais une sauvegarde mensuelle de mon répertoire /files depuis 2004.
Et puis à chaque changement de serveur je re-balançais le tout sur le serveur.
J'ai du changer 6 ou 7 fois de serveur.
Le hic, c'est qu'il y a des membres qui supprimaient leur fichiers joints. Sur 14 années, avec 25000 visiteurs par jour sur l'ensemble des mes différents forums de guitare, ça finit par représenter pas mal de fichiers orphelins.
Ces fichiers orphelins n'apparaissent pas dans le PCA, ils ne sont pas dans la base de données.

Si j'avais fait une sauvegarde juste avant chaque changement de serveur, je n'aurais pas ce problème.

Pour l'avenir je vois comment faire.
Mais en attendant j'aimerais bien virer tout ces gigas de fichiers orphelins.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4966
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Ok, j'ai compris. Je ne crois pas qu'il existe un script pour faire le nettoyage à ta place...

J'imaginerais un truc comme ça:
- Récupération de la liste des fichiers (Table attachments) utilisés.
- Déplacement des pièces jointes dans un répertoire temporaire
- Avec un script copie des fichiers listés dans la table attachments vers le dossier /files du forum (Attention ne pas oublier le "thumb" de chaque fichier)

Test et si ok effacement des fichiers restés dans le répertoire temporaire.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
JefKayak
Membre
Membre
Messages : 16
Inscription : 03 févr. 2018, 22:50
Status : Hors-ligne

Merci Lol
:023:
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4966
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Si tu as besoin d'aide pour l'extraction des données de la base ou le script pour traiter le déplacement des fichiers n'hésite pas!
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre