Linux 文件锁的简单使用

一般情况下,我们利用crontab执行计划任务,间隔都不会太短,比如一天一次,甚至一周乃至一月一次。

所以一般而言,这都不会有什么问题。

但是如果在某些极端情况下:例如我们需要每次执行的计划任务需要完全结束,才可以执行下一次,否则会导致出问题。

那么这个时候【文件锁】(flock)就发挥作用了。

下面介绍一个简单的文件锁(flock)用法:

常见的参数:

flock -xn 锁文件 -c "shell"
flock -x 锁文件 -c "shell"

以上内容看起来不太直观,那么先来解释一下:

flock是文件锁的命令,两行的参数相差一个 n ,第一行 -xn, 使用这个参数,当执行发现文件被锁,则后面的shell命令/脚本直接执行失败。第二行则不同,单独使用 -x 时,如果发现文件被锁,则会等待文件锁解除时,再执行后面的shell命令/脚本。

注意,在这里,【锁文件】本身没有实在的意义,它只是一个标记,所以可以手工随意touch一个。

下面是我 crontab 的其中一行:

*/1     *       *       *       *       flock -x /root/file.lock -c "sh /root/file.sh"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值