最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用Linux的Crontab定时执行PHP脚本方法

    正文概述 转载于:掘金(程序员安安)   2021-02-07   444

    先说说cron,它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。

    要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。

    安装crontab:

    yum install crontabs
    

    说明:

    /sbin/service crond start //启动服务
    /sbin/service crond stop //关闭服务
    /sbin/service crond restart //重启服务
    /sbin/service crond reload //重新载入配置
    
    查看crontab服务状态:service crond status
    
    手动启动crontab服务:service crond start
    
    查看crontab服务是否已设置为开机启动,执行命令:ntsysv
    

    加入开机自动启动:

    chkconfig –level 35 crond on
    

    每一小时执行myscript.php如下:

    # crontab -e
    00 * * * * /usr/local/bin/php /home/john/myscript.php
    

    如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。 下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。

    00 * * * * lynx -dump http://www.jb51.net/myscript.php
    

    下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。

    */5 * * * * /usr/bin/curl -o temp.txt http://www.jb51.net/myscript.php
    

    下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。

    */10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php
    

    参  数: -e  编辑该用户的计时器设置。 -l  列出该用户的计时器设置。 -r  删除该用户的计时器设置。 -u<用户名称>  指定要设定计时器的用户名称。

    crontab 格式:

    基本格式 :

    分钟 小时 日 月 星期 命令


    第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列 表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令

    记住几个特殊符号的含义: “*”代表取值范围内的数字, “/”代表”每”, “-”代表从某个数字到某个数字, “,”分开几个离散的数字

    crontab文件的一些例子:

    30 21 * * * /usr/local/etc/rc.d/lighttpd restart 
    上面的例子表示每晚的21:30重启apache。 
    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 
    上面的例子表示每月1、10、22日的4 : 45重启apache。 
    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 
    上面的例子表示每周六、周日的1 : 10重启apache。 
    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 
    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。 
    0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 
    上面的例子表示每星期六的11 : 00 pm重启apache。 
    0 */1 * * * /usr/local/etc/rc.d/lighttpd restart 
    每一小时重启apache 
    0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 
    晚上11点到早上7点之间,每隔一小时重启apache 
    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 
    每月的4号与每周一到周三的11点重启apache 
    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
    

    以上内容希望帮助到大家,更多PHP大厂PDF,PHP进阶架构视频资料,PHP精彩好文可以微信搜索:PHP开源社区

    2021金三银四大厂面试真题集锦,必看!

    四年精华PHP技术文章整理合集——PHP框架篇

    四年精华PHP技术文合集——微服务架构篇

    四年精华PHP技术文合集——分布式架构篇

    四年精华PHP技术文合集——高并发场景篇

    四年精华PHP技术文章整理合集——数据库篇


    起源地下载网 » 使用Linux的Crontab定时执行PHP脚本方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元