1.先編寫tomcat重啓腳本
#!/bin/sh
. /etc/profile
tomcat='/opt/media-tomcat/apache-tomcat-8.5.29'
tomcat_path=${tomcat}'/bin'
pid=`ps aux | grep $tomcat_path | grep -v grep | grep -v retomcat | awk '{print $2}'`
dat=`date '+%Y-%m-%d %H:%M:%S'`
echo 'dat='$dat
echo 'pid='$pid
if [ -n "$pid" ]
then
{
echo ===========shutdown================
$tomcat_path'/shutdown.sh'
sleep 1
pid=`ps aux | grep tomcat_path | grep -v grep | grep -v retomcat | awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 1
echo ========kill tomcat==============
kill -9 $pid
}
fi
sleep 1
echo ===========startup.sh==============
$tomcat_path'/startup.sh'
}
else
echo ===========startup.sh==============
$tomcat_path'/startup.sh'
fi
tail -f $tomcat'/logs/catalina.out'
2.測試腳本是否可執行(該文件放在當前用戶執行目錄下)
./test.sh
備註:要是在非vi 命令下編寫的腳本(比如在Windows的編輯器寫完放到Linux服務器上),執行文件時會出現
bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
解決辦法:執行sed -i "s/\r//" a.sh來轉化, 然後就可以執行./test.sh 運行腳本了
3.設置定時器
1)執行crontab -e,在定時器添加00 00 * * * /root/test.sh(每天凌晨0點重啓);
2)啓動定時服務器,執行分別執行service crond stop, service crond start