Trouver les répertoires contenant de nombreux fichiers

Je reprends ce blog après plus de 8 ans (8 ans, sérieusement…) car un de mes clients m’a fait remarquer que le dernier post remonte à 2012 et que c’est un peu ridicule. Il a raison. Je vais donc m’en servir comme bloc-note pour les petits truc et astuces que je rencontre au quotidien et qui pourraient être utiles à d’autres que moi.

Bref… La question du jour est : que faire lorsque df -i m’indique qu’une de mes partitions n’a plus assez d’inodes (et que je suis donc proche de la saturation) ?

Petite parenthèse pour les plus novices : vous connaissez probablement la commande df, souvent utilisée df -h, qui vous donne l’état du remplissage de vos partitions. C’est le genre de chose qu’on vérifie régulièrement … mais ne négligez pas non plus df -i qui vous donne les informations sur l’utilisation des inodes. Ces derniers correspondent (en gros) au nombre de fichiers créés et peuvent également poser problème, par exemple si une de vos partition contient un très grand nombre de fichiers (souvent petits).

La solution la plus élégante que j’ai trouvée est celle-là : https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-used

find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

Je vous laisse décortiquer si le cœur vous en dit, mais voilà qui va vous donner la liste des répertoires de votre partition racine (en aucune autre grâce à -xdev), classés par ordre croissant du nombre de fichiers (et sous-dossiers) contenus. Idéal pour visualiser rapidement les répertoires contenant de grosses quantités de fichiers.

Release OVH : OVHm et les domaines avec accents

Tiens, un petit bug dans la release OVH … et du coup, hop, un petit billet 🙂

Comme le savent les utilisateurs de cette distribution, OVHm est le module Webmin qui permet de gérer les hébergements et les noms de domaines qui se trouvent sur le serveur. Ce module permet sans problème de créer un hébergement pour un nom de domaine contenant des caractères spéciaux, notamment des accents. Par exemple accentué.com <– ce nom de domaine est libre à l’heure où j’écris ces lignes, allez-y, foncez ! 😉 Il suffit simplement d’indiquer à OVHm le punycode de votre nom de domaine (dans notre exemple : xn--accentu-hya.com) et ça fonctionne très bien.

Là où ça se gâte un peu, c’est quand on souhaite créer un alias de nom de domaine : on a beau essayer accentué.com ou bien xn--accentu-hya.com, rien n’y fait, OVHm nous envoie sur les roses :

Moche hein ? Oui, mais rien de grave : OVHm refuse en fait qu’un nom de domaine contiennent deux tirets qui se suivent.

La solution est toute bête, il suffit simplement d’aller modifier le fichier /usr/libexec/webmin/ovhm/ajouter_alias.cgi

Repérez la ligne :

&error ($text{'domaine_ko'}) if ($alias !~ /^[0-9a-zA-Z]+(-[0-9a-zA-Z]+)*(\.[0-9a-zA-Z]+)+$/);

Et remplacez la par :

&error ($text{'domaine_ko'}) if ($alias !~ /^[0-9a-zA-Z]+(-+[0-9a-zA-Z\-]+)*(\.[0-9a-zA-Z]+)+$/);

Fastoche !

Allez, c’est parti

Bon, et bien voilà… Des années après l’avènement du web 2.0, je me décide enfin à bloguer un petit coup. Il n’est jamais trop tard pour bien faire.

Je me suis concocté un chouette petit template WordPress (chacun appréciera) et hop, c’est parti !