我的環境是 centos 7
1、 在某個目錄建立一個 .sh 腳本檔案(一般cron安裝在var/spool/cron這裡,于是我就将腳本建立在這)
vim /var/spool/cron/tomcatStart.sh
2、 在 tomcatStart.sh 檔案裡面寫入一下代碼
#!/bin/bash
/etc/profile
tomcatPath="/usr/local/tomcat"
binPath="$tomcatPath/bin"
echo "[info][$(date)]正在監控tomcat,路徑:$tomcatPath"
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [ -n "$pid" ]; then
echo "[info][$(date)]tomcat程序為:$pid"
echo "[info][$(date)]tomcat已經啟動,準備使用shutdown指令關閉"
$binPath"/shutdown.sh"
sleep 2
pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
if [ -n "$pid" ]; then
echo "[info][$(date)]使用shutdown關閉失敗,準備kill程序"
kill -9 $pid
echo "[info][$(date)]kill程序完畢"
sleep 1
else
echo "[info][$(date)]使用shutdown關閉成功"
fi
else
echo "[info][$(date)]tomcat未啟動"
fi
echo "[info][$(date)]準備啟動tomcat"
$binPath"/startup.sh"
注意:if [ -n “$pid” ]; then,這個語句中括号“[”後邊一定要有空格,"]"前邊一定要有空格
3、 修改 tomcatStart.sh 的權限
chmod +x /var/spool/cron/tomcatStart.sh
4、添加腳本到 crontab 定時任務
vi /etc/crontab
// 第一個是 tomcatStart.sh 的路徑, 第二個是将日志輸出到某個檔案中
00 03 * * * root /var/spool/cron/tomcatStart.sh >> /usr/local/tomcat/tomcatStartLog.txt
5、重新開機一下 crontab 以生效
systemctl restart crond
或者
service crond restart
注意:if [ -n “$pid” ]; then,這個語句中括号“[”後邊一定要有空格,"]"前邊一定要有空格
注:定時器等操作不詳細介紹,具體請參考linux定時備份MySQL資料庫
作者:10676
連結:https://www.jianshu.com/p/45455f36e859