自己記錄下-----使用腳本定時每幾分鍾執行一次任務:#!/bin/bas#打印當前地址cd $(dirname $0)echo $(dirname $0#獲取父級路徑path=$(dirname $(dirname $PWD))/jars/gather-1.0-SNAPSHOT-jar-with-dependencies.jar
echo ${path} #執行的任務 program=com.txj.realtimeregionstat.RegionStatByRedis step=5 #獲取當前時間 #perDate=$(date "+%Y%m%d") #獲取一天后的時間 afterdata=$(date -d +1day "+%Y%m%d") #每5分鍾僅僅執行一次,設置標志位 onceflag=0 echo 'task schedule time Waiting to run (once per 5min)...' #死循環,檢查當前時間段分鍾數符合條件,則開始執行程序 while true ; do #獲取當前分鍾數,date獲取當前日期,%M來獲取當前分鍾數 presentminutes=$(date "+%M") #expr 是一款表達式計算工具, 注意使用的是反引號 ` 而不是單引號 ' if [ `expr $presentminutes % $step` -eq 0 ] then if [ $onceflag -eq 0 ] then java -cp ${jarpath} ${mainclass}
#nohup hadoop jar ${jarPath} ${mainclass} &
onceflag=1 echo '已執行:'$onceflag else continue fi else onceflag=0 echo '不符合條件未執行'$onceflag fi sleep 30 #30秒查詢一次當前時間 done