【博客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 &
相关推荐
脏脏a30 分钟前
【Linux】进程优先级:谁先 “上车” 谁说了算?
linux·运维·服务器
就叫飞六吧31 分钟前
docker一键部署gitlab
docker·容器·gitlab
要站在顶端2 小时前
Jenkins 多分支流水线配置教程
运维·servlet·jenkins
ernesto_ji4 小时前
docker部署nginxUI
docker
屿行屿行9 小时前
【Linux】Socket编程(基于实际工程分析)
linux·服务器·网络
天才程序YUAN9 小时前
从零开始、保留 Windows 数据、安装Ubuntu 22.04 LTS双系统
linux·windows·ubuntu
Evan芙9 小时前
Rocky Linux 9 网卡改名及静态IP地址配置完整步骤
linux·网络·智能路由器
Zeku9 小时前
20251125 - 韦东山Linux第三篇笔记【上】
linux·笔记·单片机
企鹅侠客10 小时前
Linux性能调优 详解磁盘工作流程及性能指标
linux·运维·服务器·性能调优
icy、泡芙10 小时前
TF卡---热插拔
linux·驱动开发