tomcat重启脚本

 1 #!/bin/bash
 2 #2014/11/25 pdd
 3 
 4 . /etc/profile #导入父进程环境变量
 5 
 6 LOG=/var/log/tomcat/teacher.log
 7 
 8 exec 6>&1
 9 exec 1>>/var/log/tomcat/teacher.log
10 exec 2>>/var/log/tomcat/teacher.log
11 
12 Date=$(date)
13 
14 echo -e "================$Date:teacher restart====================
"
15 
16 /data/tomcat7-teacher/bin/shutdown.sh
17 
18 echo
19 
20 echo -e "shutdown end
"
21 
22 sleep 5
23 
24 if ps aux | grep -v grep | grep -q tomcat7-teacher;then
25 
26         ps aux | grep tomcat7-teacher | grep -v grep | awk '{print $2}' | xargs kill
27 
28         echo -e "kill
"
29 
30         /data/tomcat7-teacher/bin/startup.sh #执行输出不在teacher.log 即使>teacher.log
31 
32 else
33 
34         /data/tomcat7-teacher/bin/startup.sh #同上
35 
36         echo
37 
38         echo -e "peace
"
39 
40 fi
41 
42 echo
43 
44 wait
45 
46 exec 1>&6
47 exec 2>&6
48 exec 6>&-

上面的脚本放在crontab后 会产生defunct进程

 1 #!/bin/bash
 2 #2014/11/25 pdd
 3 
 4 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_72/bin:/root/bin
 5 
 6 Date=$(date)
 7 
 8 echo -e "================$Date:teacher restart====================
"
 9 
10 /data/tomcat7-teacher/bin/shutdown.sh >/dev/null 2>&1
11 
12 echo
13 
14 echo -e "shutdown end
"
15 
16 sleep 5
17 
18 if ps aux | grep -v grep | grep -q tomcat7-teacher;then
19 
20         ps aux | grep tomcat7-teacher | grep -v grep | awk '{print $2}' | xargs kill
21 
22         echo -e "kill start
"
23 
24         /data/tomcat7-teacher/bin/startup.sh >/dev/null 2>&1
25 
26 else
27 
28         /data/tomcat7-teacher/bin/startup.sh >/dev/null 2>&1
29 
30         echo
31 
32         echo -e "peace start
"
33 
34 fi
35 
36 echo
37 
38 wait
原文地址:https://www.cnblogs.com/metasequoia/p/4137913.html