• shell脚本每五分钟执行一次可执行程序(nohup)


    两种解决方案:个人推荐第二种,使用crontab来定时执行任务
     
    1.shell代码如下:
    nohup command &. 解释: 后台永久运行command命令。
    (nohup表示后台永远执行,不随终端退出而终止。&表示后台运行,随着终端退出程序而终止。两个一起就是后台永久运行了)
     1 #!/bin/bash
     2 
     3 #需要定时执行的程序
     4 program=testapp 5 
     6 #获取当前时间,例如20171129 <---> perDate=$(date "+%Y%m%d")
     7 #获取一天后的时间
     8 afterdata=$(date -d +1day "+%Y%m%d")
     9 #afterdata=20170323
    10 #每五分钟仅仅执行一次,设置标志位
    11 onceflag=0
    12 
    13 echo 'Task schedule Time: ('$program') program Waiting to run(once per 5min)...'
    14 
    15 #死循环,当检测到当前时间段分钟数符合条件,则开始执行程序
    16 while true ; do
    17         #获取当前分钟数, date获取当前日期,%M来获取当前分钟数。
    18         presentminutes=$(date "+%M");
    19         
    20         if [ `expr $presentminutes % 5` -eq 0 ]
    21         then
    22             if [ $onceflag -eq 0 ]
    23             then
    24                 echo 'Now minute is '$presentminutes''
    25                 echo 'The program ('$program') running...'
    26                 echo $program $afterdata    //打印测试可执行程序格式是否正确
    27                 $program $afterdata
    28                 echo 'The program ('$program') stopped...'
    29                 onceflag=1
    30             else
    31                 continue
    32             fi
    33         else
    34             onceflag=0
    35         fi
    36         
    37         sleep 1 //一秒查询一次当前时间点
    38 done

    2.也可以使用crontab来完成每五分钟定时执行一次可执行任务。关于crontab可以参考我其它博客。



  • 相关阅读:
    莫比乌斯反演学习笔记
    NOIp 2020 游记
    题解【LOJ3087】「GXOI / GZOI2019」旅行者
    题解【CF999E】Reachability from the Capital
    题解【LOJ2007】「SCOI2015」国旗计划
    题解【LOJ3145】「APIO2019」桥梁
    题解【LOJ2114】「HNOI2015」菜肴制作
    CSP-J/S 2020 爆炸记
    题解【洛谷P2569】[SCOI2010]股票交易
    补题目录
  • 原文地址:https://www.cnblogs.com/linux-wang/p/8142844.html
Copyright © 2020-2023  润新知