【博客702】shell flock实现单例模式执行任务

shell flock实现单例模式执行任务

场景

我们需要定时执行一个任务,并且保证每次执行时都需要上一次已经执行完了,即保证同一时间只有一个在运行

示例

假设需要执行的脚本是:ping_and_mtr.sh

创建一个新的脚本来运行你的逻辑脚本:touch /root/run_ping_and_mtr.sh

run_ping_and_mtr.sh:

复制代码
#!/bin/bash

# 为 ping_and_mtr.sh 创建一个锁文件
lock_file="/root/ping_and_mtr.lock"

while true
do
   # 使用 flock 确保在同一时间只有一个脚本实例在运行
   flock -n $lock_file -c "/root/ping_and_mtr.sh"

   # 每 10 秒运行一次脚本
   sleep 10
done

设置后台一直运行:

复制代码
赋予执行权限:chmod +x /root/run_ping_and_mtr.sh
后台一直运行:nohup /root/run_ping_and_mtr.sh &
相关推荐
谢平康3 分钟前
通过nfs方式做目录限额方法
linux·服务器·网络
刘一说4 分钟前
Windows 与 Linux 跨平台自动化 MySQL 8 备份:专业级脚本设计与实战指南
linux·数据库·windows·mysql·自动化
I · T · LUCKYBOOM6 分钟前
2.2yum安装--单服务器托管多网站
linux·运维·服务器
郝学胜-神的一滴10 分钟前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
是Judy咋!10 分钟前
基于kube-prometheus-release监控---k8s集群与业务服务
容器·kubernetes·prometheus
Linux技术芯15 分钟前
浅谈nvme协议版本的发展
linux
释怀不想释怀19 分钟前
Linux(复习常见命令)
linux·运维·服务器
Wpa.wk19 分钟前
接口自动化 - 解决大量响应数据字段的格式断言 -Json-schema
运维·经验分享·测试工具·自动化·json·接口测试
_F_y22 分钟前
负载均衡在线oj(文件版)
linux·运维·负载均衡
Chase_______25 分钟前
【Linux指南】:vi编辑器
linux·运维·编辑器