script pour que tomcat demarre avec init

script pour que tomcat demarre avec init - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-08-2003 à 14:52:06    

bonjour tout le monde .
 
voilà je débute sous nunux, et j'aimerais créer un script pr que Tomcat démarre au boot.  
je suis sous Red-hat adv server 2.1
 
n'y connaissant pas grand chose, si quelqu'un puet regarde la tete du script pr me dire s'il y aurait des erreurs ?  
 
de plus pr lancer Tomcat il faut normalement "seter" la variable "CATALINA_HOME to the path of the directory into which you have installed Tomcat 4.0." --> comment je met ca dans mon script ? j'imagine qu'il faut le faire également pr que ca demare dans init non ?  
 
voilà le script
 
#!/bin/sh
# chkconfig : 3 99 0
#
#Source Function Library
. /etc/init.d/functions
#
#Descriptions des Variables :
start=/usr/local/jakarta-tomcat-4.1.12/bin/startup.sh
stop=/usr/local/jakarta-tomcat-4.1.12/bin/shutdown.sh
lockfile=/var/lock/subsys/tomcat
#
#
case "$1"
'start')
        $start >/dev/null 2>&1 </dev/null
        RETVAL=$?
        if [ "$RETVAL" = "0" ]; then
        touch $lockfile >/dev/null 2>&1
        fi
        ;;
'stop')
        $stop
        RETVAL=$?
        if [ "$RETVAL" = "0" ]; then
                rm -f $lockfile
        fi
        ;;
restart')
        $stop && $start
        RETVAL=$?
        ;;
esac
exit RETVAL
 
 
 
Merci par avance :)
 
++ linuxnoob

Reply

Marsh Posté le 04-08-2003 à 14:52:06   

Reply

Marsh Posté le 04-08-2003 à 15:12:17    

voilà le script fourni avec le RPM de tomcat 4.1.18
 

Code :
  1. #!/bin/sh
  2. #
  3. # Startup script for Tomcat 4.0, the Apache Servlet Engine
  4. #
  5. # chkconfig: - 80 20
  6. # description: Tomcat 4.0 is the Apache Servlet Engine RI for Servlet 2.3/JSP 1.2
  7. # processname: tomcat
  8. # pidfile: /var/run/tomcat4.pid
  9. # config:  /etc/tomcat4/tomcat4.conf
  10. #
  11. # Gomez Henri <hgomez@users.sourceforge.net>
  12. # Keith Irwin <keith_irwin@non.hp.com>
  13. # Nicolas Mailhot <nicolas.mailhot@one2team.com>
  14. #
  15. # version 1.02 - Removed initlog support
  16. # version 1.03 - Removed config:
  17. # version 1.04 - tomcat will start before httpd and stop after httpd
  18. # version 1.05 - jdk hardcoded to link /usr/java/jdk and tomcat runs as "nobody"
  19. # version 1.06 - split up into script and config file
  20. # version 1.07 - Rework from Nicolas ideas
  21. # version 1.08 - Fix work dir permission at start time, switch to use tomcat4
  22. # version 1.09 - Fix pidfile and config tags
  23. # version 1.10 - Fallback to su direct use on systems without Redhat/Mandrake init.d functions
  24. # version 1.11 - Fix webapps dir permissions
  25. # version 1.12 - remove initial start/stop level for chkconfig (- 80 20)
  26. # version 1.13 - remove chown of logs/work/temp/webapps dir, owned by tomcat4 at install time
  27. # version 1.14 - correct the start/stop ugly hack by waiting all the threads stops
  28. # version 1.15 - ensure we're looking for TOMCAT_USER running catalina
  29. #
  30. # Source function library.
  31. if [ -x /etc/rc.d/init.d/functions ]; then
  32. . /etc/rc.d/init.d/functions
  33. fi
  34. # Get Tomcat config
  35. TOMCAT_CFG="/etc/tomcat4/tomcat4.conf"
  36. [ -r "$TOMCAT_CFG" ] && . "${TOMCAT_CFG}"
  37. # Path to the tomcat launch script (direct don't use wrapper)
  38. TOMCAT_SCRIPT=/usr/bin/dtomcat4
  39. # Tomcat name :)
  40. TOMCAT_PROG=tomcat4
  41. # if TOMCAT_USER is not set, use tomcat4 like Apache HTTP server
  42. if [ -z "$TOMCAT_USER" ]; then
  43.     TOMCAT_USER="tomcat4"
  44. fi
  45. # Since the daemon function will sandbox $tomcat
  46. # no environment stuff should be defined here anymore.
  47. # Please use the /etc/tomcat.conf file instead ; it will
  48. # be read by the $tomcat script
  49. RETVAL=0
  50. # See how we were called.
  51. start() {
  52.     echo -n "Starting $TOMCAT_PROG: "
  53.     if [ -x /etc/rc.d/init.d/functions ]; then
  54.         daemon --user $TOMCAT_USER $TOMCAT_SCRIPT start
  55.     else
  56.         su - $TOMCAT_USER -c "$TOMCAT_SCRIPT start"
  57.     fi
  58.     RETVAL=$?
  59.     echo
  60.     [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat4
  61.     return $RETVAL
  62. }
  63. stop() {
  64.     echo -n "Stopping $TOMCAT_PROG: "
  65.     if [ -f /var/lock/subsys/tomcat4 ] ; then
  66.       if [ -x /etc/rc.d/init.d/functions ]; then
  67.           daemon --user $TOMCAT_USER $TOMCAT_SCRIPT stop
  68.       else
  69.           su - $TOMCAT_USER -c "$TOMCAT_SCRIPT stop"
  70.       fi
  71.       RETVAL=$?
  72.       tc4run=1
  73.       until [ $tc4run = '0' ]
  74.       do
  75.           tc4run=`ps -aux | grep catalina | grep -v grep | grep $TOMCAT_USER -c`
  76.           sleep 1
  77.       done
  78.       rm -f /var/lock/subsys/tomcat4 /var/run/tomcat4.pid
  79.     fi
  80.     echo
  81.     [ $RETVAL = 0 ]
  82. }
  83. # See how we were called.
  84. case "$1" in
  85.   start)
  86.         start
  87.         ;;
  88.   stop)
  89.         stop
  90.         ;;
  91.   restart)
  92.         stop
  93.         sleep 2
  94.         start
  95.         ;;
  96.   condrestart)
  97.         if [ -f /var/run/tomcat4.pid ] ; then
  98.                 stop
  99.                 start
  100.         fi
  101.         ;;
  102.   *)
  103.         echo "Usage: $TOMCAT_PROG {start|stop|restart|condrestart}"
  104.         exit 1
  105. esac
  106. exit $RETVAL


 
NB : le fichier dtomcat4 du RPM refère au fichier catalina.sh de la tarball de Tomcat


---------------
Self Destruction Might Be The Answer - http://www.kazekami.org
Reply

Marsh Posté le 04-08-2003 à 15:17:31    

oki looool :) j'avais pas vu ce script ??  
 
mais merci de l'info je vais dc utiliser celui-ci :)) et voir ce ke ca donne :)
 
++ Lulux

Reply

Marsh Posté le 04-08-2003 à 16:59:17    

KazeKami a écrit :

voilà le script fourni avec le RPM de tomcat 4.1.18
 
 
# Get Tomcat config
 
TOMCAT_CFG="/etc/tomcat4/tomcat4.conf"
 
[ -r "$TOMCAT_CFG" ] && . "${TOMCAT_CFG}"


 
---> j'ai pas de Tomcat4.conf :( ... par contre j'ai un tomcat-users.xml ?? ds mon repertoire jakartaxxx/conf
 
est celui qui correespond a votre avis ?  
 
 
merci  
lulux

Reply

Marsh Posté le 05-08-2003 à 09:28:33    

le tomcat4.conf du RPM :
 
 

Code :
  1. # tomcat /etc/rc.d script example configuration file
  2. # Use with version 1.07 of the scripts or later
  3. # Use Jpackage utils if present
  4. if [ -x /usr/bin/java-functions ]; then
  5. . /usr/bin/java-functions
  6. set_jvm
  7. fi
  8. # Source Java system configuration if exist
  9. if [ -r /etc/java/java.conf ]; then
  10. . /etc/java/java.conf
  11. fi
  12. # you could also override JAVA_HOME here
  13. # Where your java installation lives
  14. # JAVA_HOME="/usr/java/jdk"
  15. # JAVA_HOME="/opt/IBMJava2-131"
  16. JAVA_HOME="/usr/java/j2sdk"
  17. # You can pass some parameters to java
  18. # here if you wish to
  19. #JAVACMD="$JAVA_HOME/bin/java -Xminf0.1 -Xmaxf0.3"
  20. JAVA_OPTS="-Xms32M -Xmx64M -Xss128K"
  21. # Where your tomcat installation lives
  22. # That change from previous RPM where TOMCAT_HOME
  23. # used to be /var/tomcat.
  24. # Now /var/tomcat will be the base for webapps only
  25. CATALINA_HOME="/var/tomcat4"
  26. JASPER_HOME="/var/tomcat4"
  27. CATALINA_TMPDIR="/var/tomcat4/temp"
  28. # What user should run tomcat
  29. TOMCAT_USER="tomcat4"
  30. # You can change your tomcat locale here
  31. #LANG=en_US
  32. LANG=fr_FR
  33. # If you wish to further customize your tomcat environment,
  34. # put your own definitions here
  35. # (i.e. LD_LIBRARY_PATH for some jdbc drivers)
  36. # Just do not forget to export them :)

 
 
 
si ma mémoire est bonne ce fichier n'existe pas avec la tarball. Il est utilisé pour passer quelques arguments et variables d'environnement à Tomcat.


---------------
Self Destruction Might Be The Answer - http://www.kazekami.org
Reply

Marsh Posté le 05-08-2003 à 11:31:59    

oki Merci bcq, en fait ca fonctione impec sans le tomcat4.conf ..car mes variables st seteés dans un autre script. ca fonctionne au poil. :) je les ajouté dans les RC.dxxx et ca lance tomcat au boot dc impec.
 
 
par contre une autre chtit question :)
 
SI JE VEUX  changer l'etat, et lui demander de ne pas démarrer le service au boot, quel fichier je dois modifier ?  
sans biensur modifier mes liens symb dans les RC, ni le script.  
 
il me semble bien qu'il y a un fichier de ce genre qui active ou desactive le service au boot non ?  
 
merci pour tte te réponses en tous les cas KazeKami
 
++ Lulux
 

Reply

Marsh Posté le 05-08-2003 à 12:09:30    

oui et ce programme, à ma connaissance, ne fait que modifier les liens symboliques dans les rc.*
 
tu as chkconfig sous redhat, et ntsysv sur toutes les distrib' à priori


---------------
Self Destruction Might Be The Answer - http://www.kazekami.org
Reply

Marsh Posté le 05-08-2003 à 13:10:14    

oki merci :love::love:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed