浅谈Web开发中的定时任务
曾经做过Windows server下的定时任务的业务,最近又做了一些Linux下使用Crontab做的定时任务的业务,觉得有必要进行一次小结,于是有了如下这篇文章。
Windows Server下
设置定时任务的步骤如下:
比如:你开发了一个Windows可执行程序,并将其编译成demo.exe,然后你需要该任务每到特定的时间都自动进行执行...
步骤1:打开"开始" -> "计划任务程序"
步骤2: 依次选择 "计划任务程序(本地)" -> "任务计划程序库"
步骤3: 点击右侧的"创建基本任务",然后按照向导填好相应的设置即可...
Linux下
使用Crontab设置定时任务:
1、理解crontab的时间表达式
基本格式 :
* * * * * command
分 时 日 月 周 命令
2. 配置和使用Crontab做定时任务
Ubuntu下,在终端中输入crontab -e,即可打开crontab的配置文件,在这个文件里添加待执行的任务,里面可以执行各种各样的命令,比如:curl、sh、php等等...
例如:你要给bravo发一份信,这个信的内容在/home/www/msg.txt里
在执行crontab -e后,添加如下任务:
50 13 4 5 * mail bravo < /home/www/msg.txt
表示在每年的5月4号13:50发信给他
再比如:
在该配置文件中加入:
20 13 * * * /usr/bin/curl -i http://dev.blog.io/cron/testAction
即可定时访问该网址~
另一个例子是使用sh命令(有时需要改为bash):
00 02 * * * sh /home/bravo/shell/dailyError.sh
也可以 crontab -uroot -l查看指定用户的定时任务。
另外Linux下的at命令也可进行定时任务,
at命令:仅执行一次的工作调度。
我们使用at命令来生成所要运行的工作,并将这个工作以文本文件的方式写入到 /var/spool/at/目录里,使该工作能等待atd这个服务取用和执行。
先寻找/etc/at.allow这个文件,只有写在这个文件中的用户才能使用at命令;再寻找/etc/at.deny文件,写在这个文件里的用户不能使用at命令;要是这两个文件都不存在,说明只有root用户才有权限使用at命令。
step1. atd服务的启动 /etc/init.d/atd restart
step2.at命令详解
at [-mldv] TIME
at -c 工作号码
参数:
-m:当at的工作完成后,即使没有输出信息,以email通知该用户工作已经完成
-l: at -l相当于atq,列出系统上所有该用户at的调度
-d: at -d相当于atrm,取消一个在at调度中的工作
-v:可以使用比较明显的时间格式列出at调度中的任务列表
-c:列出后面接的该工作的实际命令内容
TIME时间格式:
HH:MM 04:00
HH:MM YYYY-MM-DD 04:00 2009-03-17
HH:MM[am|pm] [Month] [Date] 04pm March 17
HH:MM[am|pm]+numver [minutes|hours|days|weeks] 04:00 + 5 minutes
now + 5 minutes
*注: 以上内容中的部分图文来自于网上,其他部分均为原创...
浅谈Web开发中的定时任务的更多相关文章
- 浅谈iOS开发中多语言的字符串排序
一.前言 在iOS开发中,一个经常的场景是利用tableview展示一组数据,以很多首歌曲为例子.为了便于查找,一般会把这些歌曲按照一定的顺序排列,还会加上索引条以便于快速定位. 由于歌曲名可能有数字 ...
- 浅谈iOS开发中方法延迟执行的几种方式
Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD 公用延迟执行方法 - (vo ...
- 浅谈web前端开发阅历
WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没有学校的正轨教育,大多数人都是靠本人自学成才.本文次要引见本人从事web开发以来(从大二至今)看过的书籍和本人的成长过程,目的是给想了解Java ...
- 【架构】浅谈web网站架构演变过程
浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
1.熟悉几个组件 1.1.apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...
- 浅谈关于QT中Webkit内核浏览器
关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用.提起WebKit,大家自然而然地想到浏览器.作为浏览器内部的主要构件,WebKit的主要工作是渲染.给 ...
- 浅谈WebService开发三(动态调用WebService)转
在前两讲里,我已经向大家演示了如何使用WebService.同步, 异步调用WebService,而在实际开发过程中,可能会有多个WebService接口供你选择,而在程序执行过程中才决定使用哪一个 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 浅谈Excel开发:十一 针对64位Excel的插件的开发和部署
自Office 2010版本开始有了32位和64位之分,对Excel来说,32位的Excel和64位的Excel在性能上的主要区别是64位的Excel能够处理2G及2G以上的大数据集. 随着64位操作 ...
随机推荐
- 关于<Servlet>定义
1,百度百科定义: Servlet,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容 ...
- vue-cli3.0安装element-ui组件及按需引入element-ui组件
在VUE-CLI 3下的第一个Element-ui项目(菜鸟专用) (https://www.cnblogs.com/xzqyun/p/10780659.html) 上面这个链接是vue-cli3.0 ...
- VSTO 获取sheet单元格行列数
Public Sub Igor() Dim Dtsheet As Excel.Worksheet Dim TotalC As Long '原始数据范围列 Dim TotalR As Long '原始数 ...
- Ubuntu Server 12.04(14.04) 静态IP简洁配置
1.配置静态IP地址: # vim /etc/network/interfaces 原内容有如下4行:auto loiface lo inet loopback auto eth0iface eth0 ...
- c#坐标系互相转换
转自群友的博客:https://www.xiaofengyu.com/?p=108 群友的github地址:https://github.com/jfwangncs/GPSConvert 各种坐标系 ...
- java拦截处理System.exit(0)
在使用TestNG做单元测试时,需要测试的代码中出现System.exit(0),导致单元测试还未结束程序就停止了.解决方法如下: public class TestMain { public sta ...
- spring-cloud-Zuul学习(二)【基础篇】--典型配置【重新定义spring cloud实践】
-- 2019-04-15 20:22:34 引言 上一节是一个最基本的zuul网关实例,它是整个spring-cloud生态里面“路由-服务”的一个缩影,后续也就是锦上添花.这节主要讲述zuul的一 ...
- 用 PHP文件引入css样式
html: <link rel="stylesheet" type="text/css" href="http://www.mysite.com ...
- python--ModuleFoundError
python 模块导入错误: 1. 首先py文件名不能和导入的模块名相同 (我在学习matplotlib库的时候就把文件名设置成matplotlib 多次运行不成功) 2. 由于我电脑上只有numpy ...
- Nginx负载均衡的5种策略(转载)
Nginx的upstream目前支持的5种方式的分配 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream backserver { s ...