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可以參考我其它博客。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM