(modifié le 23 janvier 2010 à 1:59)

Après vous avoir présenté un script shell permettant de détecter les utilisateurs les plus consommateurs d'espace disque sur un serveur Linux équipé serveur de fichier Samba, je vous propose second script complémentaire.

J'ai élaboré ce script dans le but de connaître les types de fichiers majoritairement stockés pour un utilisateur donné en entreprise.

Admettons par exemple que Jean Némar stocke majoritairement des fichiers au format MP3 (ce qui est généralement interdit par la charte d'utilisation des ressources informatiques), voici ce que retournera le script :

./typeDeFichiers.sh /home/VOTRE_DOMAINE/jean.nemar
6510    mp3
1698    png
1696    php
1251    gif
761     js
397     css
181     html
105     txt
14      xml
13      htaccess
6       pdf
5       zip
5       gz
5       gdf
5       doc
1       log

On en déduira peut-être que Jean Némar est un développeur écoutant beaucoup de musique 🙂

C'est sur un forum que j'ai trouvé la base de ce script que j'ai adapté pour qu'il accepte le nom du répertoire en paramètre (je ne parviens pas à retrouver la source pour l'instant, si quelqu'un la retrouve merci!).

Pour utiliser le script, c'est très simple. Assurez-vous qu'il soit exécutable (chmod +x typeDeFichiers.sh) puis :

./typeDeFichiers.sh /chemin/vers/dossier

Voici la source du script :

#!/bin/bash
# Auteur : Mr Xhark
# Licence : Creative Commons 2.5
# Via http://blogmotion.fr/?s=types+de+fichiers

if [ $# = 1 ]
then
find $1 -name "*.*"|sed 's/.*\.//g'|sort|uniq -c|sort -nr|gawk 'OFS="\t" {print $1,$2}'
else
echo "Syntaxe : $0 /chemin/vers/dossier/"
fi

Note : si vous obtenez un message d'erreur line 4: gawk: command not found pensez à installer le package gawk (aptitude install gawk sur debian, ubuntu, ... ou yum install gawk sur les redhat/centos like).

Conclusion

Ce script peut tout à fait être utilisé dans d'autres circonstances que celle du serveur samba. Il se révèle très efficace en entreprise tout en respectant la vie privée des utilisateurs puisque aucun nom ou contenu de fichier n'est retourné. Seul le nombre de fichiers selon l'extension est affiché.

Ce script est peu  efficace si la personne stocke des fichiers volumineux tel que des divx... En effet, stocker 3 divx consomme plus de 2go, face à 200 fichiers textes qui ne consommeront que quelques Mo.

Vous pouvez utiliser ce script pour détecter certains types de stockage illicites, cela fonctionne parfaitement, mais sachez gardez à l'esprit que tous les abus ne sont pas détectés via ce script (je pense réaliser un second script pour lister le fichiers les plus volumineux d'un dossier).

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter