zoukankan      html  css  js  c++  java
  • 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可以参考我其它博客。



  • 相关阅读:
    vue-cli3初尝试之路径别名配置
    nodejs之koa-router与koa-body搭配使用
    nodejs之crypto加密算法
    nodejs之glob与globby
    vuecli3初尝试(转载)
    python之线程同步
    python之多线程通信
    python之通过thread来实现多进程
    U盘启动盘安装Mac OS
    Windows环境下制作MACOS X U盘安装盘
  • 原文地址:https://www.cnblogs.com/linux-wang/p/8142844.html
Copyright © 2011-2022 走看看