J'ai hérité d'un projet PHP d'une société off-shore et je suis assez sûr que ~50% des fichiers ne sont plus utilisés. Je veux éliminer les fichiers inutilisés donc j'envisage simplement de suivre le nombre de fois que chaque fichier est demandé ou inclus pendant que je travaille sur la prochaine phase de développement, puis de faire du nettoyage. Y a-t-il un moyen facile de suivre cela? Il est exécuté sur une pile LAMP assez classique.
Réponses
Trop de publicités?Vous pourriez utiliser une solution de statistiques web pour suivre les visites sur l'ensemble de votre site. Cependant, cela ne fonctionnera pas avec les fichiers PHP inclus
Une autre option serait de créer un petit script à inclure dans chaque fichier qui écrirait le nom du fichier dans un journal à chaque fois qu'il était analysé.
Hmmm....si votre solution de sauvegarde conserve les derniers temps d'accès des fichiers, alors la solution est simple.....faites simplement une recherche en haut de la structure de répertoires et vérifiez les fichiers non consultés. Par exemple:
find [dir1][dir2]...[dirn] -type f -atime +180 -print
trouverait les fichiers dans les répertoires nommés qui n'ont pas été consultés depuis 180 jours.
Je pense que inotify est la meilleure solution, essayez d'utiliser inotifywatch pour surveiller les opérations d'ACCÈS/OUVERTURE dans le répertoire spécifié:
# inotifywait -e access -e open -m -r /home/jamzed/
Maintenant toutes les opérations d'ACCÈS et d'OUVERTURE dans /home/jamzed/* seront surveillées.
exemple: si je fais '$ cat examples.desktop', alors inotifywatch écrira sur STDOUT:
/home/jamzed/ OUVERTURE examples.desktop /home/jamzed/ ACCÈS examples.desktop
Vous pouvez rediriger STDOUT vers un fichier ( >> fichier à analyser ), pour mieux analyser quels fichiers n'ont pas été utilisés.
Vous pouvez utiliser auditd pour surveiller l'accès aux fichiers au niveau du noyau, puis utiliser ausearch pour rechercher/greper les journaux d'audit. Cela devrait attraper tout, peu importe le processus/utilisateur/sous-shell qui touche les fichiers. Si c'est un serveur chargé, faites évidemment quelques vérifications de cohérence avant de mettre en place un grand nombre de surveillances.