Libérer de l’espace sur les serveurs Oracle Weblogic

Des problèmes d’espace libre sur vos serveurs Weblogic ?

Vous êtes confrontés à quelques problèmes de redémarrages de vos domaines Weblogic et/ou constatez des logs de ce type : « WARNING : DISK WARNING – free space: /oracle/products/SOA 58640 MB (3% inode=99%): »

Voici une succession de commandes utiles vous permettant à la fois d’établir un diagnostic via la console et de nettoyer les fichiers les moins indispensables sous le domaine Weblogic.

 

Diagnostic

Tout d’abord, voici la commande qui fera un état des lieux des utilisations et capacités de stockage de chaque espace disque.
L’option « -h » vous permettra la conversion en octets pour une meilleure lisibilité.

$ df -h

Puis, pour connaître la taille d’un répertoire et de ses sous répertoires :

$ du -sh /chemin/du/repertoire

Avoir la liste des 10 fichiers les plus gros à partir d’un /chemin :

$ find /chemin -type f -exec du -s {} \; | sort -n | tail -n 10

Avoir la liste des 10 dossiers les plus gros à partir d’un /chemin :

$ find /chemin -type d -exec du -s {} \; | sort -n | tail -n 10

Lors de l’exécution de la commande find, vous pouvez être pollué par l’apparition de toutes les erreurs comme les « permissions refusées », il vous suffit alors d’ajouter la redirection suivante « 2>/dev/null » comme suit :

$ find /chemin -type d -exec du -s {} \; 2>/dev/null | sort -n | tail -n 10

 

Nettoyage

A noter que dans chaque répertoire de serveurs Weblogic, les répertoires logs, cache et tmp peuvent être purgés.
Il est recommandé de faire un backup de répertoire avant de pouvoir le supprimer, mais suivant votre besoin, s’il ne vous est pas nécessaire de conserver quelques fichiers de logs, vous pouvez utiliser directement la commande suivante :

$ rm -rf  logs/* cache/* tmp/*

Il peut donc être utile d’avoir besoin de plus précisément supprimer les fichiers datant de plus d’un certain temps.
Dans l’exemple ci-dessous, nous supprimons l’ensemble des fichiers du répertoire /chemin/logs datant de plus de 60 jours :

$ find /chemin/logs -mtime +60 -exec rm {} \;

Afin de faciliter la maintenance de ces serveurs, il est judicieux de scripter l’ensemble de ces commandes pour les ajouter lors des redémarrages de serveurs ou en crontab afin de programmer une purge automatique de vos domaines.
Vous pouvez trouver un exemple de script de « clean » lors de redémarrages des serveurs Weblogic sur un précédent article ici : « Dans le doute, reboot ! » et si on rendait cela scriptable et modulable !