Je travaille avec weblogic 10.3.5 sous Ubuntu 12.04.
Weblogic a commencé à utiliser
Nohup ./startWebLogic.sh >Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.out 2>&1 </dev/null &
Cela fonctionne bien et maintenant je voudrais faire pivoter AdminServer.out
en utilisant logrotate
mais il semble que ce ne soit pas si facile à faire. En recherchant sur Internet, il n'est pas très clair de comprendre si c'est possible ou non.
J'ai essayé d'utiliser les options copytruncate
. Lorsque le logiciel logrotate est en cours d'exécution, la taille du fichier devient 0 mais revient à la taille d'origine après la première "écriture" du serveur.
Aussi essayé de renommer le fichier. Le serveur écrit toujours dans le fichier renommé.
Il semble que le serveur ait uniquement un pointeur sur un fichier, indépendamment de son nom ou de sa taille.
Donc, y a-t-il une solution ? Utilisation de logrotate ou non.
--MODIFIER--
J'ai aussi essayé avec
#!/bin/bash
mkdir -p tmp
if [ ! -p tmp/weblogic.fifo ]; then
mkfifo tmp/weblogic.fifo
fi
tail -f tmp/weblogic.fifo >> Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.out &
Nohup ./startWebLogic.sh > /home/me/tmp/weblogic.fifo 2>&1 </dev/null &
Je ne sais pas si c'est correct mais ... il y a au moins un problème: parfois, il raccroche pour écrire dans le fichier. Parfois quelques secondes mais au bout d'un moment (même avant le démarrage du serveur) ... indéfiniment!
Je ne peux donc pas tester le logrotate.
La solution était finalement si simple
Nohup ./startWebLogic.sh 2>&1 </dev/null | cat >> AdminServer.out &
et maintenant le AdminServer.out
peut être pivoté avec logrotate
et l'option copytruncate
.