Huge File Check
Analyses planifiées de /home pour les fichiers volumineux et les sauvegardes WordPress, avec nettoyage, liste de mise en sourdine et rapports par courriel.
Version 1.5.2 · Extension Store · requiert PHP 7.4+ Analyser
/homeà la recherche de fichiers volumineux et de sauvegardes WordPress, les rapporter et les nettoyer.
Huge File Check parcourt l'arborescence /home du serveur (configurable), sur horaire ou à la demande, signale les fichiers trop volumineux dans trois catégories, peut supprimer automatiquement selon une politique, conserve un historique des exécutions avec rapports complets, envoie le rapport par courriel, et offre un tableau interactif pour nettoyer les fichiers signalés à la main — avec une liste de mise en sourdine pour les fichiers connus comme légitimes.
Catégories de détection
| Catégorie | Règle par défaut |
|---|---|
error_log / debug.log |
Fichiers nommés error_log ou debug.log de plus de 50 Mo |
| Fichiers volumineux | Tout fichier de plus de 500 Mo |
| Sauvegardes WordPress | Noms correspondant aux motifs des fournisseurs : Updraft (^backup_.*\.zip$), Backuply (^wp_.*\.tar\.gz$), Bividbackups (^wpclone_.*\.zip$), Duplicator Pro (^[0-9]{8}_.*_archive\.daf$, ^[0-9]{8}_.*_installer\.php\.bak$) |
Onglet Overview

L'Overview montre la dernière exécution et permet d'agir sur ses fichiers.
- Run scan now — lance l'analyse comme processus détaché en arrière-plan : elle continue même si vous fermez l'onglet, et un panneau d'état montre la progression en direct (recherche → filtrage → traitement). Une seule analyse à la fois (une seconde demande renvoie scan busy). Les exécutions manuelles ne sont pas limitées — le plafond d'une fois par jour ne vaut que pour l'horaire.
- Ligne de résumé — heure de la dernière analyse, badge de déclencheur (
manual/cron), fichiers examinés, signalés, plus des badges pour les compteurs supprimés / mis à la corbeille / mis en sourdine. - Tableau des fichiers — une ligne par fichier signalé. Colonnes triables : Modified, Age (jours), Category, File (chemin tronqué au milieu), Size, Status (
Present/Trashed/Deleted/Silenced), Actions. - Barre d'actions groupées — cochez des lignes, puis Move selected to account trash ou Delete selected. Les boutons restent désactivés tant qu'aucune ligne n'est cochée.
- Show silenced (N) — les lignes mises en sourdine sont masquées par défaut ; cette bascule les révèle.
Actions par ligne (fichiers au statut Present)
| Action | Effet |
|---|---|
| Silence (icône haut-parleur) | Ouvre la fenêtre de mise en sourdine : choisissez une durée (1 à 180 jours, pré-remplie depuis le défaut configuré) et une note facultative (max 2 000 caractères). Le fichier est exclu des rapports/courriels et de la suppression automatique jusqu'à l'expiration. |
| Trash | Déplace le fichier vers la ~/.trash du compte propriétaire (la corbeille du gestionnaire de fichiers cPanel), où le titulaire peut le revoir ou le restaurer. Les collisions reçoivent un suffixe aléatoire. |
| Delete (icône rouge) | Supprime le fichier de façon permanente. |
Chaque mise à la corbeille/suppression — unitaire ou groupée — passe d'abord par une fenêtre de confirmation.
Les fichiers avec une note affichent une icône ⓘ à côté du chemin : survolez pour lire la note, cliquez pour ouvrir une fenêtre avec Cancel / Remove / Update pour la gérer.
Garde-fous sur les actions fichier
Les actions sont fortement durcies — utile à savoir quand quelque chose est refusé :
- Seuls les chemins signalés par la dernière exécution et encore Present peuvent être visés — l'interface ne peut jamais cibler un chemin arbitraire.
- Le chemin doit se résoudre canoniquement sous la racine d'analyse (aucun lien symbolique ni échappement
..où que ce soit dans le chemin), être un fichier régulier à un seul lien physique, re-vérifié juste avant l'opération. - En root, le unlink/rename s'exécute avec les privilèges du compte propriétaire (abaissement uid/gid effectif), de sorte que le noyau lui-même bloque les ruses de course entre comptes.
- La corbeille refuse d'agir si
~/.trashest un lien symbolique ; les fichiers déplacés sont rechownés vers le compte (les fichiers appartenant à root le restent).
Onglet History

Une ligne par exécution passée : heure de début, badge de déclencheur, compteurs examinés / signalés / supprimés / corbeille, et si le rapport a été envoyé par courriel.
| Action | Effet |
|---|---|
| View | Ouvre le rapport texte stocké dans une fenêtre. |
| .txt / .html | Télécharger le rapport dans l'un ou l'autre format. |
| Renvoie le rapport de cette exécution par les canaux configurés — fonctionne quels que soient les réglages « email after cron/manual ». | |
| Delete | Supprime l'enregistrement de l'exécution et ses rapports stockés (avec confirmation). |
La rétention est par compte : les N exécutions les plus récentes (défaut 30, configurable) sont conservées ; les enregistrements plus anciens et leurs rapports sont élagués automatiquement.
Onglet Configuration

Horaire
L'analyse planifiée s'exécute au plus une fois par jour les jours de semaine choisis (par conception : l'heure est une seule heure + minute, pas une liste). Le bouton Enable/Disable installe ou retire le cron.
| Champ | Défaut | Règles |
|---|---|---|
| Weekdays | * |
Numéros de jours 0–7 séparés par des virgules (0 et 7 = dimanche), ex. 2,4 = mardi et jeudi, ou * pour tous les jours. |
| Time of day | 23:45 | Heure 0–23, minute 0–59 — une seule heure par jour. |
Le cron est /etc/cron.d/toolbox-huge-file-check ; la sortie des exécutions planifiées est ajoutée à /var/log/toolbox-huge-file-check.log.
Analyse (Scan)
| Champ | Défaut | Règles |
|---|---|---|
| Scan root | /home/ |
Chemin absolu ; / est refusé. |
| Excluded directory names | cache, tmp, sessions |
Noms de dossiers élagués du parcours, à n'importe quelle profondeur. |
| Minimum file size (MB) | 20 | Les fichiers plus petits sont entièrement ignorés (le plancher pour chaque catégorie). |
Catégories et suppression automatique
Chaque catégorie a ses propres règles et une politique de suppression automatique appliquée pendant l'analyse. Le sélecteur de politique offre :
- Never delete (report only) — défaut pour chaque catégorie.
- Delete if older than N days — supprime seulement les fichiers dont la date de modification est plus ancienne que le champ Age threshold (days).
- Delete immediately — supprime à la détection.
La suppression est permanente. Quand une catégorie a une politique supprimante, enregistrer la configuration exige de cocher « I understand files matched by a deleting policy will be permanently removed. » La suppression automatique utilise le même chemin d'action durci que les boutons de l'interface, et les fichiers en sourdine ne sont jamais supprimés automatiquement.
Champs propres aux catégories :
| Catégorie | Champs |
|---|---|
| error_log / debug.log | Flag when larger than (MB) (défaut 50) · File names (noms exacts, défaut error_log, debug.log) |
| Fichiers volumineux | Flag when larger than (MB) (défaut 500) |
| Sauvegardes | Une zone de texte par fournisseur, une PCRE par ligne, comparée au nom de fichier seulement. Regroupées par CMS (WordPress aujourd'hui) pour ajouter d'autres plateformes plus tard. Une regex invalide est ignorée et journalisée — jamais fatale. |
Notifications
Le courriel de rapport HTML liste chaque catégorie et ses fichiers (fichiers en sourdine exclus).
| Champ | Défaut | Notes |
|---|---|---|
| Send email reports | on | Interrupteur maître des courriels de cette extension. |
| Via Toolbox Notifier (cPanel Contact Manager) | on | Passe par le Notifier du noyau — voir Configuration du noyau → Notifications. Configurez-y un relais SMTP pour garantir la livraison des gros rapports. |
| Also send to a fixed address (sendmail) | off | Une copie supplémentaire directement vers l'adresse ci-dessous via sendmail local, indépendante de Contact Manager. |
| Fixed report address | support@astralinternet.com |
Destinataire du canal sendmail. |
| Email subject suffix | Large Files |
Le sujet devient <hostname> - <suffixe>. |
| Email after scheduled (cron) scans | on | |
| Email after manual scans | off | Note : un « Run now » manuel n'envoie un courriel que si ceci est coché. |
Un bloc d'état indique si un courriel Contact Manager est configuré, fournit un bouton Send test report email, et une vue repliable Recent notification attempts (diagnostics) du journal de débogage du Notifier.
Historique
| Champ | Défaut | Règles |
|---|---|---|
| Runs to keep | 30 | Minimum 1. Les enregistrements et rapports au-delà de ce compte sont élagués. |
Fichiers en sourdine
| Champ | Défaut | Règles |
|---|---|---|
| Default silence duration (days) | 30 | Pré-rempli dans la fenêtre de mise en sourdine. Maximum 180 jours. |
Sous le champ, un tableau liste chaque mise en sourdine active (la plus proche d'expirer en premier) avec son chemin, une icône ⓘ quand une note existe, le temps restant, et un bouton Un-silence. Les mises en sourdine expirées se nettoient automatiquement ; le fichier est alors de nouveau signalé à l'analyse suivante.
Comment fonctionne l'analyse (exécution)
- Le cron et « Run now » exécutent le même runner CLI (
cron/scan.php) sous le PHP de cPanel. Unflocksurvar/scan.locksérialise les exécutions — une seconde invocation sort discrètement. Le verrou est tenu par le processus, donc il se libère automatiquement si le processus meurt (aucun verrou périmé à supprimer). - Le parcours est une seule commande
find(-prunesur les dossiers exclus,-size +<min>c), diffusée ligne par ligne — la mémoire reste stable même sur de très grandes arborescences/home. Le runner relève son proprememory_limità 1024 Mo et supprime toute limite de temps. - La progression est écrite dans
var/status.json(interrogé par l'interface toutes les 2 s). Un fichier de statut de plus de ~20 minutes est traité comme une exécution morte. - Les rapports (
.txt+.html) sont stockés par exécution sousvar/reports/, root seulement.
Carte des fichiers
| Chemin | Rôle |
|---|---|
extensions/huge-file-check/config/settings.default.json |
Défauts livrés (écrasés à la mise à jour) |
extensions/huge-file-check/var/settings.user.json |
Vos surcharges de configuration (préservées) |
extensions/huge-file-check/var/history.json |
Enregistrements d'exécutions (tampon circulaire plafonné) |
extensions/huge-file-check/var/reports/<id>.txt/.html |
Rapport complet par exécution |
extensions/huge-file-check/var/silenced.json |
Mises en sourdine actives + notes |
extensions/huge-file-check/var/scan.lock / status.json |
Verrou d'exécution / progression en direct |
/etc/cron.d/toolbox-huge-file-check |
Cron d'horaire (quand activé) |
/var/log/toolbox-huge-file-check.log |
Journal des exécutions planifiées |