Bonjour,
j'ai le script ci-dessous :
Les droits sont positionnés à 755
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"
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 :
J'ai essayé plusieurs solutions pour l'appel :/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
- 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
Partager