Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Script de rotation de log

De AJLSM
Version datée du 7 novembre 2025 à 20:21 par Jlarvers (discussion | contributions) (→Déprécié - Ne pas utiliser)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Déprécié - Ne pas utiliser

[modifier | modifier le wikicode]

VOir : http://mw.ajlsm.com/wiki/Rotation_des_logs_tomcat_et_Pleade

Utilité du script

[modifier | modifier le wikicode]

Le script va venir s’exécuter à une heure précisé chaque jour, sur les fichiers de log de Pleade et Tomcat et son but est de compresser (en TAR GZ) les fichiers datant par exemple de plus d'une semaine. Ensuite, supprimer l'ensemble des fichiers datant par exemple de plus d'un mois.

Installation du script

[modifier | modifier le wikicode]

Version de java nécessaire : ≥7

Les sources java du script se trouvent sur Mirador et plus précisément ici : /home/intra-ajlsm/script/script-rotation-log/

Il faut récupérer l'ensemble du dossier "script-rotation-log/" puis ensuite compiler les sources java afin de les rendre exécutables, il faut utiliser cette commande pour dela :

$ javac -cp /home/intra-ajlsm/script/script-rotation-log/lib/commons-compress-1.20.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-io-2.8.0.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-cli-1.5.0/commons-cli-1.5.0.jar /home/intra-ajlsm/script/script-rotation-log/src/script/com/ajlsm/Script.java

avec donc toutes les librairies, séparées à chaque fois par ':', dont les sources java ont besoins et ce après le "-cp" et ensuite on a le chemin vers fichier java du script.

Les instructions vont s’exécuter avec crontab, qui est associé à un utilisateur (comme par exemple intra-ajlsm) et qui peuvent être changées avec la commande :

$ crontab -e


Les instructions à copier-coller dans le crontab se trouvent ici : /home/intra-ajlsm/script/script-rotation-log/script.sh Il faut ensuite les adapter comment on le souhaite en suivant les explications du script.

  1. Voir "Explication du script" pour plus de détails.[1]

Explication du script

[modifier | modifier le wikicode]

Voici un exemple de script que l'on peut trouver :

 
# Lancement du script de rotation de log
55 5 * * * java -cp /home/intra-ajlsm/script/script-rotation-log/lib/commons-compress-1.20.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-io-2.8.0.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-cli-1.5.0/commons-cli-1.5.0.jar /home/intra-ajlsm/script/script-rotation-log/src/script/com/ajlsm/Script.java -s "/home/intra-ajlsm/pleades/pleade/WEB-INF/logs/" -jc 7 -js 30
55 5 * * * java -cp /home/intra-ajlsm/script/script-rotation-log/lib/commons-compress-1.20.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-io-2.8.0.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-cli-1.5.0/commons-cli-1.5.0.jar /home/intra-ajlsm/script/script-rotation-log/src/script/com/ajlsm/Script.java -s "/opt/tomcat7/logs" -jc 7 -js 30


# Instruction de redémarrage le matin
0 6 * * * sh /home/ajlsm/tomcats/preprod/bin/shutdown.sh -force && rm -rf /home/ajlsm/tomcats/preprod/work/* /home/ajlsm/tomcats/preprod/temp/* /home/ajlsm/tomcats/preprod/bin/catalina.pid && sh /home/ajlsm/tomcats/preprod/bin/startup.sh
1 6 * * * sh /home/ajlsm/tomcats/slecture/bin/shutdown.sh -force && rm -rf /home/ajlsm/tomcats/slecture/work/* /home/ajlsm/tomcats/slecture/temp/* /home/ajlsm/tomcats/slecture/bin/catalina.pid && sh /home/ajlsm/tomcats/slecture/bin/startup.sh
2 6 * * * sh /home/ajlsm/tomcats/internet/bin/shutdown.sh -force && rm -rf /home/ajlsm/tomcats/internet/work/* /home/ajlsm/tomcats/internet/temp/* /home/ajlsm/tomcats/internet/bin/catalina.pid && sh /home/ajlsm/tomcats/internet/bin/startup.sh
  • Tout d'abord, pour chaque commande à exécuter, on a au début :
55 5 * * *

Les deux nombres peuvent varier et sont respectivement les minutes et l'heure à laquelle on veut que la commande s’exécute.

  • Ensuite, pour la partie "Lancement du script de rotation de log", la commande exécute le code java, on aura une ligne pour chaque dossier de logs.
  1. Voir "Paramètres du code java" pour plus d'explication sur les paramètres.[[1]]
  • Enfin, pour la partie "Instruction de redémarrage le matin" :

On a une ligne pour chaque instance de Tomcat à redémarrer.

Paramètres du code java

[modifier | modifier le wikicode]

Afin de s’exécuter, le script à besoin de renseigner au code java certains paramètres, dans le crontab, comme ici :

java -cp /home/intra-ajlsm/script/script-rotation-log/lib/commons-compress-1.20.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-io-2.8.0.jar:/home/intra-ajlsm/script/script-rotation-log/lib/commons-cli-1.5.0/commons-cli-1.5.0.jar /home/intra-ajlsm/script/script-rotation-log/src/script/com/ajlsm/Script.java -s "/home/intra-ajlsm/pleades/pleade/WEB-INF/logs/" -jc 7 -js 30

On a donc :

  • -cp : Le chemin vers chaque librairie dont le script a besoin séparés à chaque de ":" avec toute suite après, le chemin vers le script à exécuter
  • -s : Le chemin des sources à traiter
  • -jc : Représente le nombre de jours avant de compresser les logs
  • -js : Représente le nombre de jours avant de supprimer les logs