Linux的crontab最小的间隔是每分钟执行一次,但是如果在这一分钟之内,之前的命令并没有执行完成呢?这样就会产生冲突。接下来我介绍一个解决冲突的办法,那就是linux的flock文件锁.

格式:

flock [-sxun][-w #] fd#

flock [-sxon][-w #] file [-c] command

参数是:

-s, --shared:    获得一个共享锁
-x, --exclusive: 获得一个独占锁
-u, --unlock:    移除一个锁,通常是不需要的,脚本执行完会自动丢弃锁
-n, --nonblock:  如果没有立即获得锁,直接失败而不是等待
-w, --timeout:   如果没有立即获得锁,等待指定时间
-o, --close:     在运行命令前关闭文件的描述符号。用于如果命令产生子进程时会不受锁的管控
-c, --command:   在shell中运行一个单独的命令
-h, --help       显示帮助
-V, --version:   显示版本

下面是在crontab中的使用:

* * * * * flock -xn /tmp/aaa.lock -c 'php /home/aaa.php >> /home/aaa.log' . //-xn  文件锁使用独占锁,如果锁定则失败不等待。

转载于:https://www.cnblogs.com/liujiaq/p/6782603.html

linux使用flock解决crontab任务冲突相关推荐

  1. linux环境下解决SVN的冲突方法

    1.发生冲突的表现 发生冲突时我们自己文件的内容 2.由于发生了冲突而产生了三个文件 hello.txt.mine:发生冲突时本地文件内容 hello.txt.r2:发生冲突前文件内容 hello.t ...

  2. 虚拟机克隆Linux操作系统后解决MAC地址冲突

    在虚拟机进行克隆的时候可以选择备份的快照进行克隆,注意:在拍摄快照时虚拟机不能时开启或者挂起状态,不然无法选择快照进行克隆 MAC地址冲突解决 1.vi /etc/sysconfig/network- ...

  3. linux使用flock文件锁解决脚本周期内未执行完重复执行

    linux使用flock文件锁解决脚本周期内未执行完重复执行 关于flock flock 是对于整个文件的建议性锁.也就是说,如果一个进程在一个文件(inode)上放了锁,那么其它进程是可以知道的.( ...

  4. linux上SVN解决冲突命令

    svn resolve --accept working abc.c (这条命令会删除abc.c.mine abc.c.r1234 abc.c.r1235等文件) 注意,此处的accept前是双连字符 ...

  5. php定时任务为什么不好写,php解决crontab定时任务不能写入文件问题的方法分析...

    本文实例讲述了php解决crontab定时任务不能写入文件问题的方法.分享给大家供大家参考,具体如下: 今天使用crontab写的定时任务没有执行,很纳闷. crontab.php error_rep ...

  6. Eclipse上GIT插件EGIT使用手册之八_解决推送冲突

    为什么80%的码农都做不了架构师?>>>    多人协作开发的情况下,往服务器推送更新时难免出现冲突,所以推送之前需要解决服务器端的最新版本和本地仓库的冲突.Pull操作就是把服务器 ...

  7. git解决代码提交冲突

    树冲突 文件名修改造成的冲突,称为树冲突. 比如,A同事把文件改名为A.C,B同事把同一个文件改名为B.C,那么B同事将这两个commit合并时,会产生冲突. 如果最终确定用B同事的文件名,那么解决办 ...

  8. Linux入门!Linux无法联网解决办法!CentOS7、VMPlayer、VMWareWorkstation16资源!VMWareWorkstation16序列号!VMware安装Centos7!

    Linux入门!CentOS7.VMPlayer.VMWareWorkstation16资源!VMWareWorkstation16序列号!Linux无法联网解决办法!VMware安装Centos7! ...

  9. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录 参考文章: (1)如何解决编译linux内核(解决声卡问题),遭遇fata ...

最新文章

  1. 【已解决】window10任务栏图标显示异常解决方法--有详细解释
  2. 大道至简第三章读后感
  3. 《基于张量网络的学习入门》学习笔记3
  4. python将变量i的值增加1_Python中变量自增、i+=x与i=i+x、is与==
  5. html tab与jQuery,使用jquery实现div的tab切换实例代码
  6. centos6 mysql 启动_【17-02-18】 【求助】centos6 mysql重启后无法正常启动
  7. 在窗体创建时显示窗体
  8. 软件工程中的十三种文档
  9. SpringBoot统一返回结果
  10. ArcEngine ICoommand和ITool 的区别
  11. 【PS专题】PS钢笔压力有感叹号怎么消除
  12. 最长单词(LintCode)
  13. 盒子中图片下方出现空隙
  14. HTML我的家乡宁夏学生网页设计作品 dreamweaver作业静态HTML网页设计模板 宁夏旅游景点网页作业制作
  15. win10当生产服务器稳定吗,真让人不省心!Win10最稳定版出幺蛾子 微软已证实
  16. Java开源的11个中文分词器使用方法和分词效果对比
  17. 你是我最想要的朋友——《天高地厚》
  18. 操作系统笔记(王道)(持续更新中)
  19. 产业区块链进场,2020年可能迎来拐点 | 你好2020
  20. 计算机基础知识—数据库

热门文章

  1. SpringMVC视图解析器
  2. SQL Server R2 地图报表制作(五)
  3. 2.9 bitset
  4. Python+Appium寻找蓝牙/wifi匹配
  5. 谢烟客---------Linux之DNS服务系统的基础知识
  6. Asix下日志包冲突
  7. day3-文件操作之基本操作
  8. Oracle11.2.0.4 windows32+64bit opatch工具 11.2.0.0 百度云盘下载
  9. Struts2中访问HttpServletRequest和HttpSession
  10. PHP的SQL注入技术实现以及预防措施