shell写定时任务


自己记录下-----使用脚本定时每几分钟执行一次任务:#!/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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM