【博客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 &
相关推荐
乔碧萝成都分萝5 分钟前
十八、使用class分类管理设备
linux·驱动开发·嵌入式
特立独行的猫a27 分钟前
使用Docker/Docker Compose方式安装部署PostgreSQL指南
docker·postgresql·容器
G_H_S_3_29 分钟前
【网络运维】MySQL 高可用架构实践:备份策略、主从复制与读写分离
运维·网络·mysql
@noNo30 分钟前
VMware Workstation 虚拟机 Ubuntu 24.04 主机与虚拟机之间无法复制粘贴
linux·运维·ubuntu
幺零九零零37 分钟前
Redis容器了解Docker底层
数据库·redis·docker
无心水41 分钟前
【Stable Diffusion 3.5 FP8】8、生产级保障:Stable Diffusion 3.5 FP8 伦理安全与问题排查
人工智能·python·安全·docker·stable diffusion·ai镜像开发·镜像实战开发
TG:@yunlaoda360 云老大41 分钟前
华为云国际站代理商的运维保障具体要求中,服务响应与SLA硬指标的具体内容是什么?
大数据·运维·华为云
ZeroNews内网穿透42 分钟前
Typecho博客搭建与公网访问指南
运维·服务器·网络·ssh
wdfk_prog44 分钟前
[Linux]学习笔记系列 -- [fs]initramfs
linux·笔记·学习
Violet_YSWY1 小时前
CentOS 的 DVD 镜像 和 Minimal 镜像 的区别
linux·运维·centos