Astral 360 Astral Toolbox

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

Huge File Check — 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 ~/.trash est un lien symbolique ; les fichiers déplacés sont rechownés vers le compte (les fichiers appartenant à root le restent).

Onglet History

Huge File Check — 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.
Email 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

Huge File Check — 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. Un flock sur var/scan.lock sé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 (-prune sur 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 propre memory_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 sous var/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