shell写定时任务

Posted ☆☆☆★☆☆☆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell写定时任务相关的知识,希望对你有一定的参考价值。

自己记录下-----使用脚本定时每几分钟执行一次任务:

#!/bin/bash
#打印当前地址
echo $(dirname $0)
#获取父级路径
path=$(dirname $(dirname $PWD))
echo ${path}

#执行的任务
program=aa.app
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
            echo now minute is $presentminutes‘‘
            onceflag=1
            echo 已执行:$onceflag
        else
            continue
        fi
    else
        onceflag=0
        echo 不符合条件未执行$onceflag
    fi
        sleep 30  #30秒查询一次当前时间 
done

 

以上是关于shell写定时任务的主要内容,如果未能解决你的问题,请参考以下文章

linux定时任务每天的0点执行一次,怎么写

如何用shell脚本定时启动Tomcat服务

一个纠结的Linux定时任务

shell脚本定时执行php程序

liunx 使用crontab定时任务+shell脚本删除tomcat日志elasticsearch日志索引

如何在mysql中定时清除所有库中指定的表中的数据,而不用每个库都写一遍定时任务,求大神指点!!!