#!/bin/sh while : do declare hours=$(date --date=`date +%H` | awk '{print $5}') echo $hours if [ "$hours" = "22:00:00" -o "$hours" = "04:00:00" -o "$hours" = "10:00:00" -o "$hours" = "16:00:00" ] then cd /opt/tomcat01/bin sleep 10 ./shutdown.sh sleep 30 ./startup.sh sleep 2400 else sleep 1800 echo $hours fi done
但是,有时候,还不管用。只能在加一句强行关闭tomcat
#!/bin/sh while : do declare hours=$(date --date=`date +%H` | awk '{print $5}') if [ "$hours" = "22:00:00" -o "$hours" = "04:00:00" -o "$hours" = "10:00:00" -o "$hours" = "16:00:00" ] then cd /opt/tomcat01/bin sleep 5s ./shutdown.sh sleep 2m pid=`ps -ef|grep java|grep -v grep |awk '{print $2}'` if [ -n "$pid" ] then echo "tomcat is alive.pid=$pid" kill -9 $pid else echo "tomcat is death" fi sleep 20s ./startup.sh sleep 1h else sleep 30m echo $hours fi date done