查看執(zhí)行過的定時(shí)任務(wù)
-
tail -f /var/log/cron
按Ctrl+c退出
tail -f /var/log2019-15.log
查看已經(jīng)執(zhí)行過的任務(wù)幌陕,看/var/log/cron
這個(gè)文件就可以土童,所以直接用tail -f /var/log/cron
命令觀察文件最新動(dòng)態(tài)即可
顯示所有運(yùn)行中的進(jìn)程:
-
ps aux | less
按q退出,按h進(jìn)入幫助
最開始文件
新建一個(gè)tomcat.sh文件拷姿,輸入以下內(nèi)容:
(開頭的星號是為了備注,*忽略)
*#!/bin/bash
. /etc/profile
tomcatPath="/usr/local/tomcat"
binPath="(date +'%F %H:%M:%S')]正在監(jiān)控tomcat,路徑:
tomcatPath | grep -v 'grep' | awk '{print
pid" ]; then
echo "[info][pid"
echo "[info][binPath"/shutdown.sh"
sleep 2
pid=ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'
if [ -n "(date +'%F %H:%M:%S')]使用shutdown命令關(guān)閉失敗响巢,準(zhǔn)備kill進(jìn)程..."
kill -9 (date +'%F %H:%M:%S')]kill進(jìn)程完畢!"
sleep 1
else
echo "[info][(date +'%F %H:%M:%S')]tomcat未啟動(dòng)踪古!"
fi
echo "[info][binPath"/startup.sh"
腳本的邏輯比較簡單,先查看tomcat進(jìn)程是否存在券腔,如果不存在則直接調(diào)用startup.sh命令啟動(dòng)tomcat伏穆,如果tomcat的進(jìn)程存在則調(diào)用shutdown.sh命令停掉tomcat服務(wù),有時(shí)會(huì)關(guān)閉失敗纷纫,所以在檢查一下tomcat進(jìn)程時(shí)候還存在枕扫,如果存在就使用kill命令殺掉該進(jìn)程,然后啟動(dòng)tomcat辱魁。
這里有一個(gè)地方需要注意烟瞧,第二行代碼(. /etc/profile)不能省掉,需要將環(huán)境變量引入到當(dāng)前腳本環(huán)境中染簇,要不然會(huì)導(dǎo)致啟動(dòng)定時(shí)任務(wù)時(shí)運(yùn)行腳本失敗参滴,會(huì)報(bào)以下錯(cuò)誤:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
-------------------上方的.sh文件可以按修改的你想要的操作 文件進(jìn)行編寫-----------------------
------------------------------------sh xxxx.sh即可執(zhí)行xxxx.sh文件-----------------------------------
二、修改文件權(quán)限
要讓腳本可以執(zhí)行锻弓,當(dāng)然要把文件設(shè)置為可執(zhí)行文件了砾赔。
chmod 777 tomcat.sh
三、建立定時(shí)任務(wù)
1.首先可以查看一下目前有哪些定時(shí)任務(wù), crontab -l
2.在控制臺上輸入使用crontab -e 命令進(jìn)入編輯crontab腳本,第一次輸入該命令時(shí)需要選擇編輯器过蹂。
選擇vim編輯器編輯就可十绑,在文件后面增加一條任務(wù)。(我的腳本文件路徑是:/home/script/tomcat.sh)
然后保存并退出即可酷勺,接著使用crontab -l 命令即可看到剛才新增的定時(shí)任務(wù)在列表里面本橙。一般情況是直接生效,如果沒有生效可以使用sudo service cron restart命令重啟定時(shí)任務(wù)脆诉。
sudo service cron restart
***編輯腳本注意事項(xiàng)
- vim 文件名
2.按下鍵盤上的“i”鍵甚亭,進(jìn)入編輯狀態(tài)』魇ぃ可以看到命令的下方出現(xiàn)了“--INSERT--”字樣亏狰,表示成功進(jìn)入了編輯模式。此時(shí)可以在文件中輸入內(nèi)容了
3.輸入完,點(diǎn)擊Esc鍵退出編輯, 輸入 :x 保存, 文件編輯完成.
四偶摔、定時(shí)任務(wù)描述語法
crontab中每一個(gè)定時(shí)任務(wù)的格式由6部分組成暇唾,分別是分鐘、小時(shí)辰斋、天策州、月、星期以及命令宫仗,前5部分用來配置任務(wù)觸發(fā)時(shí)機(jī)够挂,中間使用空格隔開,如下:
minute hour day month dayofweek command
minute
– 表示分鐘藕夫,值的范圍是從0到59的整數(shù)
hour
– 表示小時(shí)孽糖,值的范圍是從0到23的整數(shù)
day
– 表示天,值的范圍是從1到31的整數(shù)
month
– 表示月毅贮,值的范圍是從1到12的整數(shù)
dayofweek
– 表示星期办悟,值的范圍是從0到6的整數(shù) (0表示周日)
command
– 需要執(zhí)行的命令(/home/script/tomcat.sh > /home/script/shlog.txt表示執(zhí)行tomcat.sh腳本,并且把結(jié)果日志打印到shlo.txt中)
時(shí)間部分除了使用估計(jì)數(shù)字以外還可以配合星號(*)滩褥,逗號(,)誉尖,斜杠(/),橫杠(-)組合來表示其他意義铸题。
1. 星號(*)
表示任意值,比如:
30 01 * * * command #每天的1:30執(zhí)行命令
2. 逗號(,)
表示指定的時(shí)間琢感,比如:
30 01 1,10,20 * * command #每月的1號丢间、10號、20號的1:30分執(zhí)行命令
3. 斜杠(/)
表示每隔多長時(shí)間驹针,比如:
- */2 * * * command #每個(gè)2小時(shí)執(zhí)行一次命令
4. 橫杠(-)
表示連續(xù)時(shí)間烘挫,比如:
- 1-7/1 * * * command #凌晨1點(diǎn)-7點(diǎn)之前每隔一小時(shí)執(zhí)行一次命令
https://blog.csdn.net/qq_39131177/article/details/79051711
https://blog.csdn.net/rohsuton/article/details/79628519
https://www.cnblogs.com/zwgblog/p/5971455.html