Bonjour,

j'ai le script ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/sh
 
 #
 #
 #
 # cmk
 
 # shutdown tomcat6 and wait
 
 
 ####### Stop des services tomcat #########################
 
 # get the tomcat pid
tomcat_pid=`ps -ef | grep tomcat | cut -c10-14`
 
 if [ -n "$tomcat_pid" ];   then
   echo "arret service tomcat6"
   # arret IA et Web Service
   service tomcat6 stop
echo "service tomcat6 arrete"
 fi
 
 
 ############## Arret par des kill des process s'ils existent encore #############
 
 # if tomcat_pid exists, kill the process (service tomcat)
 tomcat_pid=`ps -ef | grep tomcat | cut -c10-14`
 
 if [ -n "$tomcat_pid" ] ;  then
echo "kill tomcat_pid 1"
 kill $tomcat_pid
echo "tomcat_pid killed"
 sleep 60
 fi
 
 # if tomcat_pid still exists, really kill the process
 if [ -n "$tomcat_pid" ] ; then
echo "kill tomcat_pid"
 kill -n 9 $tomcat_pid
echo "tomcat_pid killed"
 sleep 10
 fi
 
 
 
######## Arret APACHE ############
echo "arret d'apache"
 service apache2 stop
echo "apache arrete"
 sleep 10
 
 
 
 ##### Relance des services ###############
echo "redemarrage d'apache"
 service apache2 start
echo "apache demarre"
 sleep 5
 
 # clear log
 #rm -f /usr/local/tomcat6/logs/catalina.out
 
 # restart  tomcat
echo "start service tomcat6"
 service tomcat6 start
echo "service tomcat6 demarre"
Les droits sont positionnés à 755

le script marche parfaitement bien lorsque je l'appelle depuis la ligne de commande root@monserveur:~#

Par contre, il plante quand je l'appelle via un cron :

/etc/cron.daily/recharge_tomcat:
arret service tomcat6
service tomcat6 arrete
/etc/cron.daily/recharge_tomcat: 21: service: not found
kill tomcat_pid 1
run-parts: /etc/cron.daily/recharge_tomcat exited because of uncaught signal 15
J'ai essayé plusieurs solutions pour l'appel :
- via crontab -e : m h * * * /le/chemin/complet/du/script
- via cron.daily, en placant le script dans le dossier /etc/cron.daily, sans l'extension .sh et en l'appelant via crontab -e : m h * * * cd / && /etc/cron.daily
meme punition....

je ne pense pas que ca vienne de la syntaxe de l'appel.
je ne comprends pas pourquoi ca marche manuellement, mais pas quand on veut l'automatiser via un cron, enfin, ca démarre mais ca plante au milieu....

Je suppose que ca tient du meme pb : quand je l'appelais, en ligne de commande, dans le dossier le contenant, via #./recharge_tomcat.sh, ca marchait, mais ca plantait au meme endroit si je l'appelais via #bash recharge_tomcat.sh