• 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
  • 相关阅读:
    mdadm
    RAID磁盘阵列学习笔记
    内存究竟有多快?
    fping
    Intel® RAID Software User’s Guide
    为什么寄存器比内存快?
    OC-Category
    OC-id、构造方法
    OC- @property @synthesize
    OC-点语法
  • 原文地址:https://www.cnblogs.com/zyanrong/p/12536512.html
Copyright © 2020-2023  润新知