linux脚本定时执行,Shell脚本实现每个工作日定时执行指定程序
我们可能会遇到这样的情景:必须在每个工作日定时执行
原理很简单,Shell脚本内部每隔1秒查询一次当前时间、日期以及星期数,当检测到当前星期数week非0或6(0代表星期天,6代表星期六)且时间curTime大于指定时间startTime时,执行指定的程序program。为了保证每天仅执行一次指定程序program,还引用了变量isFirstTime做标记。具体代码如下:
#!/bin/sh
#Section configuration(配置部分)
#Task Time ,example:203000(Time 20:30:00);190000(Time 19:00:00);
startTime=113200
#the programs you want to execute(要执行的程序)
program=ps
#Section promgram (程序执行部分)
perDate=$(date "+%Y%m%d")
isNewDay=1
isFirstTime=1
echo 'Task schedule Time: ('$startTime') program: ('$program') Waiting...'
while true ; do
curTime=$(date "+%H%M%S")
curDate=$(date "+%Y%m%d")
#Check week day(周末不执行)
week=`date +%w`
if [ $week -eq 6 ] || [ $week -eq 0 ];then
isNewDay=0
sleep 1
continue
else
#check and run script(工作日执行)
if [ "$isNewDay" -eq "1" ];then
if [ "$curTime" -gt "$startTime" ];then
if [ "$isFirstTime" -eq "0" ];then
echo 'The program ('$program') Running...'
$program
echo 'The program ('$program') Stopped...'
fi
isNewDay=0
else
if [ "$isFirstTime" -eq "1" ];then
echo 'New Day: ('$curDate') Task schedule Time: ('$startTime') Waiting...'
isFirstTime=0
fi
fi
else
#new day start(开始新的一天)
if [ "$curDate" -gt "$perDate" ];then
echo 'New Day: ('$curDate') Task schedule Time: ('$startTime') Waiting...'
isNewDay=1
perDate=$curDate
fi
fi
sleep 1
fi
done
该Shell脚本的功能为每个工作日的11点32分执行一次ps命令,执行的效果如下图所示。
Shell脚本实现每个工作日定时执行指定程序
当然该脚本只是为了演示这一定时原理,实际应用中可以指定其他的程序或者脚本,并利用nohup命令让其后台运行。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。
linux脚本定时执行,Shell脚本实现每个工作日定时执行指定程序相关推荐
- Linux 定时执行shell 脚本
2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...
- linux定时执行shell脚本
linux定时执行shell脚本 需求:每分钟检查下文件是否存在 解决思路: 1.编写shell脚本,检查文件是否存在,存在在文件中记录yes,不存在记录no 2.将脚本加入linux定时任务cron ...
- linux执行shell过程日志,Android之在linux终端执行shell脚本直接打印当前运行app的日志...
1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 a ...
- linux下开机自动启动,定时运行shell脚本
Shell 脚本与window/dos 下的批处理相似,也就是用各类命令预先放入一个文件中,方便一次性执行的的一个程序文件,主要是方便管理员进行设置或者管理用. 一.shell脚本 在Linux下,我 ...
- Linux qt shell脚本,QT执行shell脚本或者执行linux指令
由于我在做linux下的QT开发,有时候会用到shell脚本的辅助,但是需要QT运行shell脚本并获取执行结果,今天给大家分享下我的技巧,废话少说直接上代码: //执行shell指令或者shell脚 ...
- Java程序定时执行shell脚本
第一次写博客,写的不好还请见谅. 之前在Linux环境中想定期执行某个脚本,第一反应就是将这个task加入到crontab里(crontab的知识点这里就不具体介绍了),当然,这种做法一般情况下是可行 ...
- loadrunner11 linux服务器,Loadrunner怎么执行linux服务器上的shell脚本?
java是可以执行shell脚本的,如下: //command就是你在linux上执行脚本的字符串命令 StringBuffer command = new StringBuffer(); comma ...
- Linux中执行shell脚本的4种方法
这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写 ...
- Linux下如何执行Shell脚本
Linux下如何执行Shell脚本 Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 ...
- Linux shell:执行shell脚本的几种方式
在Linux命令行执行shell脚本有如下三种方式: 1)bash test or sh test 2)./test 3)test 注:第三种方式需要将当前目录添加到PATH,否者会提示:-bash: ...
最新文章
- 【直播回顾】蚂蚁金服高级开发工程师萧恺:IDEA 插件开发入门教程
- 高精度模板 洛谷Luogu P1932 A+B A-B A*B A/B Problem
- REACT map dictionary
- 手动添加mysql服务
- 爬取行政区划(改版)
- 计算机主机配置一般有机箱主板cpu,电脑配置参数详解教程
- 课后自主练习(递归)1059. Fj haozi medium《编程思维与实践》个人学习笔记
- char类型数据说明
- MySQL子查询的优缺点_浅谈mysql的子查询
- 【Markdown语法】字体颜色大小及文字底色设置
- 《计算机网络技术》第一章课后习题答案(全)
- leetcode简单之597.好友申请I:总体通过率
- 【ArcGIS微课1000例】0063:ArcGIS Earth完美代替Google Earth(附安装包下载)
- Windows沙拉:默认浏览器背后的故事
- windows自带的待办事项工具在哪?
- c++/VS XP系统 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll解决方案
- android手机可以换字体吗,最新版安卓手机怎么换字体?
- 计算机如何删除已连接的打印机驱动程序,打印机驱动程序不见了,如何自行删除...
- C/S构架与B/S构架的优缺点
- 没有学历可以学计算机编程吗,没学历可以学开发吗?