热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux环境使用crontab命令设置定时周期性执行任务【含php执行代码】

这篇文章主要介绍了Linux环境使用crontab命令设置定时周期性执行任务,结合实例形式较为详细的分析了crontab命令的功能、应用场景及相关操作注意事项,并附带了php执行代码供大家参考,需要的朋友可以参考下

本文实例讲述了Linux环境使用crontab命令设置定时周期性执行任务。分享给大家供大家参考,具体如下:

从linux帮助中查看crontab命令有以下参数:

-u username:指定用户操作定时器
-e:编辑定时器(所有)
-l:查看定时器
-r:删除定时器(从/var/spool/cron目录中删除某个用户的crontab文件,默认删除当前用户的)
-i:删除定时器(删除之前给出确认提示)

使用场景1:

执行一些周期性统计的业务操作,例如每天凌晨0:00统计前一天所有业务员及各个小组的业绩、每组人数、任务量、完成量等等,并插入数据库方便查看

使用场景2:

代替人工执行一些循环往复的操作,例如当时女朋友考研坐等分数线公布,写了一个定时程序,实时监听研招网的新闻头条,同时对接短信验证码平台,只要新闻头条的标题变化了,就发送短信到手机上。

(下面以场景2为例使用crontab命令)

要执行的jianting.php代码:

<&#63;php
  $log = "/var/www/html/log.txt";//日志文件(注意设置可写入权限)
  $url = 'http://yz.chsi.com.cn/'; //要监听的网址
  $info= file_get_contents($url);//抓取首页html
  preg_match('|

(.*&#63;)<\/h4>|i',$info,$m);//正则匹配头条标题内容 if($m[1] != '2018年全国硕士生招生调剂意向采集服务系统') { //标题改变了 //判断日志中是否已有记录,如果为空记录一条,并发送短信或邮件通知 $str = file_get_contents($log); $str = trim($str); $bom = pack('H*','EFBBBF'); $str = preg_replace("/^$bom/", '', $str);//去除BOM if($str == ""){ $text = '监听有变化'; file_put_contents($log,$text,FILE_APPEND); //发送短信或邮件操作 ...... } }

linux下使用which命令查看php安装路径:

which php

设置定时任务,这里盗了一张网上的图(crontab格式说明):

crontab -e

//执行周期 php安装路径 执行的php文件(注意设置可执行权限)
例如: 5 0 * * * /usr/bin/php /var/www/html/jianting.php //每天凌晨5分执行

10秒执行一次的写法举例:

* * * * * /usr/bin/php /var/www/html/jianting.php
* * * * * sleep 10; /usr/bin/php /var/www/html/jianting.php
* * * * * sleep 20; /usr/bin/php /var/www/html/jianting.php
* * * * * sleep 30; /usr/bin/php /var/www/html/jianting.php
* * * * * sleep 40; /usr/bin/php /var/www/html/jianting.php
* * * * * sleep 50; /usr/bin/php /var/www/html/jianting.php

此时查看已经有了定时任务:

crontab -l

重启crontab服务

service crond restart

换了个服务器,遇到无法执行php文件的问题,解决办法:

5 0 * * * /usr/bin/curl http://www.xxx.com/jianting.php //使用curl命令访问php文件
5 0 * * * cd /var/www/html && /usr/bin/php /var/www/html/jianting.php

希望本文所述对大家Linux服务器配置有所帮助。


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
author-avatar
借钱买黄瓜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有