PHP+Crontab+Flock实现定时任务
发布日期:2021-11-14 04:12:09 浏览次数:2 分类:技术文章

本文共 1423 字,大约阅读时间需要 4 分钟。

Crontab

Crontab是一个Unix/Linux系统下的常用定时执行任务

安装Crontab

yum install vixie-cron crontabs  //vixie-cron软件包为cron的主程序,crontabs是用来安装、卸载、列举进程表格的程序

chkcofig crond on  //开机自启动

service crond start   //启动

添加crontab定时任务

crontab -e  //打开crontab文件,会默认以vi方式打开

格式

Minute

Hour

Dayofmonth

Month

Dayofweek

Command

注释

分钟

小时

日期

月份

命令

取值范围

0-59

0-23

1-31

1-12

0-7(0和7都代表周日)

 

常用符号

符号

注释

*

所有有效的值

,

分割开设定多个值

-

一段时间范围

/n

隔n长时间

eg:*/3 9-17 1,15,25 * * command  //每个月的1、15、15号的9点至17点每隔3分钟执行一次command命令

 

查看crontab定时任务

crontab -l

 

flock锁

为防止上次脚本没有执行完,下个脚本重复执行可以使用flock锁防止进程冲突

使用方法,创建crontab定时任务时,指定flock,eg:

*/1 * * * * flock -xw 10 command   //每一分钟执行一次command,如果上次任务没有完成等待10s后重试

 

flock常用参数:-h,--help

-s,--shared  获取一个共享锁  

-x,--exclusive 获取一个独占锁

-n,--nonblock 没有立即获得锁,直接失败

-w,--timeout  没有立即获得锁,等待指定时间,单位为秒

-c,--command 在shell中运行一个单独的命令

 

命令案例详解

命令1:(不加锁/加锁  绝对路径)

* * * * * /bin/php /home/run.php >> /home/run.log 2>&1
* * * * * flock -xn /tmp/run.lock -c '/bin/php /home/run.php >> /home/run.log 2>&1'

注释: /temp/run.lock  用于判断文件是否已加锁,一般命名为: filename.lock

           /bin/php       php可执行文件的位置

          /home/run.php  要执行的php文件的具体位置,文件名为filename.php

          >>  表示将运行php文件的输出以追加的方式进行重定向

         /home/run.log  执行脚本产生的日志文件的位置,一般命名为filename.log

        (同一条命令中最好保持filename相同)

标准输入stdin 、标准输出stdout 、 标准错误stderr,对应的系统文件的文件描述符为0、1、2 

& 等同与,2>&1 表示标准错误重定向到标准输出中

命令2:(不加锁/加锁  相对路径)

* * * * * cd /home; /bin/php run.php >> ./run.log 2>&1
* * * * * cd /home; flock -xn /tmp/run.lock -c '/bin/php run.php >> ./run.log 2>&1'

 

Crontab任务不执行

转载地址:https://blog.csdn.net/meng_dream_fly/article/details/101463229 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:memcached基本操作
下一篇:安装PHP扩展

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月12日 18时26分07秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

x86so文件装换成arm64位_64位系统正式发布说明及介绍!! 2019-04-21
for循环中取出最大最小 累加_LeetCode之长度最小的子数组 2019-04-21
如何打开老公人脸识别_【话题】南宁已有小区启用人脸识别门禁,有人点赞有人忧... 2019-04-21
makex机器人程序_机器人教育为相城青少年叩开科学世界大门 2019-04-21
一寸照纯红色底图片_Ella陈嘉桦也是“时髦精”,穿玫红色西装配拼色半身裙,高级洋气... 2019-04-21
米哈游客户端笔试题_Garena校招 游戏客户端开发通关面经 2019-04-21
airpodspro没有弹窗_使用AirPods Pro一天的主观感受 2019-04-21
创建物化视图commit_视图及范式 2019-04-21
函数传参字典_Python新手上车17:函数传递任意多个参数 2019-04-21
去掉数组最后一个元素_【一天一大 lee】在排序数组中查找元素的第一个和最后一个位置 (难度:中等) Day20201201... 2019-04-21
秦九韶算法递推公式_算法讲解之复杂度分析 2019-04-21
添加绝对路径_网站中如何添加绝对路径 2019-04-21
python房价数据分析波士顿代码数据_python数据分析-波士顿房价预测-Go语言中文社区... 2019-04-21
redis线程阻塞原因排插_Redis阻塞原因详解 2019-04-21
labview自动保存报表_基于LabVIEW的Excel报表的自动生成功能 2019-04-21
geotool 导出shp_Java 读取shape文件 2019-04-21
mysql 关联更新_MySQL UPDATE多表关联更新 2019-04-21
mysql call_mysql的call用法 call调用函数的例子 2019-04-21
python参数验证_参数验证,Python中的最佳实践 2019-04-21
python画多层网络_在pymn中修改多层网络图 2019-04-21