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