Cron定时任务应用到Thinkphp大屏查看

发布于:2016年01月20日 已被阅读

  1. 首先我们先了解一下Crontab命令,最后再给大家介绍如何应用到Thinkphp.如果你已经了解过Crontab命令,可以拉到最后看如何应用到Thinkphp


  2. 安装crontab:

  3.  

  4. yum install crontabs

  5.  

  6.  

  7. 关于cron的一些命令:

  8.  


  9. /sbin/service crond start //启动服务  

  10.   

  11. /sbin/service crond stop //关闭服务  

  12.   

  13. /sbin/service crond restart //重启服务  

  14.   

  15. /sbin/service crond reload //重新载入配置  


  16. 查看crontab服务状态:service crond status

  17.  

  18. 手动启动crontab服务:service crond start

  19.  

  20. 查看crontab服务是否已设置为开机启动,执行命令:ntsysv

  21.  

  22. 加入开机自动启动: chkconfig level 35 crond on

  23.  

  24.  

  25. crontab命令介绍

  26.  


  27. 功能说明:设置计时器。  

  28.    

  29.    

  30. 语  法:crontab [-<用户名称>][配置文件] crontab [-<用户名称>][-elr]  

  31.    

  32.    

  33.    

  34. 补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:  

  35.    

  36. Minute Hour Day Month DayOFWeek Command  

  37.    

  38.    

  39.    

  40. 参  数:  

  41.    

  42. -e  编辑该用户的计时器设置。  

  43.    

  44. -l  列出该用户的计时器设置。  

  45.    

  46. -r  删除该用户的计时器设置。  

  47.    

  48. -u<用户名称>  指定要设定计时器的用户名称。  

  49.  

  50.  

  51.  

  52.  

  53. crontab 格式

  54.  


  55. 基本格式:  

  56.    

  57. * * * * *  command  

  58.    

  59. 分 时 日 月 周  命令  

  60.    

  61.    

  62.    

  63. 1列表示分钟159 每分钟用*或者*/1表示  

  64.    

  65. 2列表示小时1230表示0点)  

  66.    

  67. 3列表示日期131  

  68.    

  69. 4 表示月份112  

  70.    

  71. 5列标识号星期060表示星期天)  

  72.    

  73. 6列要运行的命令  

  74.    

  75.    

  76.    

  77. # Use the hash sign to prefix a comment  

  78.    

  79. # +—————- minute (0 – 59)  

  80.    

  81. # | +————- hour (0 – 23)  

  82.    

  83. # | | +———- day of month (1 – 31)  

  84.    

  85. # | | | +——- month (1 – 12)  

  86.    

  87. # | | | | +—- day of week (0 – 7) (Sunday=0 or 7)  

  88.    

  89. # | | | | |  

  90.    

  91. # * * * * * command to be executed  

  92.  

  93.  

  94.  

  95.  

  96. crontab文件的一些例子:

  97.  

  98.  

  99. 30 21 * * * /etc/init.d/nginx restart  

  100.    

  101. 每晚的21:30重启nginx  

  102.    

  103.    

  104.    

  105. 45 4 1,10,22 * * /etc/init.d/nginx restart  

  106.    

  107. 每月11022日的4 : 45重启nginx  

  108.    

  109.    

  110.    

  111. 10 1 * * 6,0 /etc/init.d/nginx restart  

  112.    

  113. 每周六、周日的1 : 10重启nginx  

  114.    

  115.    

  116.    

  117. 0,30 18-23 * * * /etc/init.d/nginx restart  

  118.    

  119. 每天18 : 0023 : 00之间每隔30分钟重启nginx  

  120.    

  121.    

  122.    

  123. 0 23 * * 6 /etc/init.d/nginx restart  

  124.    

  125. 每星期六的11 : 00 pm重启nginx  

  126.    

  127.    

  128.    

  129. * */1 * * * /etc/init.d/nginx restart  

  130.    

  131. 每一小时重启nginx  

  132.    

  133.    

  134.    

  135. * 23-7/1 * * * /etc/init.d/nginx restart  

  136.    

  137. 晚上11点到早上7点之间,每 隔一小时重启nginx  

  138.    

  139.    

  140.    

  141. 0 11 4 * mon-wed /etc/init.d/nginx restart  

  142.    

  143. 每月的4号与每周一到周三 11点重启nginx  

  144.    

  145.    

  146.    

  147. 0 4 1 jan * /etc/init.d/nginx restart  

  148.    

  149. 一月一号的4点重启nginx  

  150.    

  151.    

  152.    

  153. */30 * * * * /usr/sbin/ntpdate 210.72.145.20  

  154.    

  155.    

  156. 每半小时同步一下时间  

  157.  

  158.  

  159. 应用到thinkphp

  160. 首先你得把要定时执行的功能代码写到Action中。或者可以用URL访问之后可以执行也行。

  161. 例如我把定时每天遍历订单是否有成交额的更新代码放在 Order/update_status 下。

  162. 而我的项目访问地址是www.jieqinwang.com 即:这个功能的代码执行路径为:http://www.jieqinwang.com/Order/update_status

  163. 得到这个路径之后就可以去liunx去配置cron了。

  164.  

  165. crontab -进入任务列表。

  166. 按下I键进入编辑模式,然后添加一条任务。

  167. 比如我想每天中午12点执行一次我刚刚写的那段代码

  168. 就添加新的一行  0 12 * * * * curl http://www.jieqinwang.com/Order/update_status

  169. 然后按Esc键退出编辑模式,再输入:wq回车。保存退出。

  170. 这样我们就添加了一个定时任务。可以利用crontab -l来查看任务列表是否已经含有。

  171. 最后一步,因为这样添加进行有可能不会立即生效。我们重启一下cron服务就可以了。

  172. 重启服务命令:/sbin/service crond restart 

  173. 大功告成!如果还有哪里不明白的地方可以发表评论,我会尽快回复的。

最新发布
linux下svn提交忽略某些文件... (173)
使用批处理来批量更新、提交SVN... (136)
linux查看目录文件大小命令 (145)
linux tar打包压缩排除某个... (134)
Linux tar压缩和解压 (192)
SVN子命令add用法浅析 (130)
热门博文
网友FBI探案:马蓉iPad惊人发现... (43345)
霍金携手俄罗斯富豪耗资1亿美元寻找外... (4747)
如何才能查看PHP内置函数源代码... (1209)
微信支付开发当前URL未注册的解决方... (574)
《谁为爱情买单》中的经典面试 ... (441)
让虚拟主机也用上SVN:适用于个人的... (395)
精华博文
[推荐]Centos7 安装配置 SVN (159)
easyswoole框架安装 (174)
php开启pecl的支持(推荐) (157)
1-10个恋爱表现:男朋友爱你程度到... (164)
女生喜欢你的10个程度,到第六个就可... (141)
Eclipse 没有Server选项... (211)
友情链接
我来忙 (110)