当前位置: 首页 > news >正文

Linux定时运行sh脚本,如果sh文件已经在运行,则忽略本次运行

需求来源

我需要linux的crontab定期每10分钟运行lan.sh脚本。但由于lan.sh运行需要较长时间,有时超过10分钟。这样会导致系统多次运行lan.sh脚本,引发运行堆积,导致一些非必要的错误。

解决方法

解决方法是写一个脚本,如果lan.sh已经在运行的话,则忽略本次运行,并把执行记录写入日志。

脚本如下(亲测)run_lan.sh:

#!/bin/bash# 检查lan.sh是否已在运行中
if pgrep -f lan.sh >> /log/lan.log; thenecho $(date +"%Y-%m-%d %H:%M:%S")"*****: lan.sh is already running, skipping this execution." >> /log/lan.log
elseecho $(date +"%Y-%m-%d %H:%M:%S")"*****: Running /app/lan.sh..." >> /log/lan.log# 运行lan.sh脚本/app/lan.shecho $(date +"%Y-%m-%d %H:%M:%S")"*****: lan.sh run finish" >> /log/lan.log
fi

定时任务改动

crontab -e (注意:不通账号有自己的crontab, 需要在对应的账号中设置crontab。一般默认编辑后自动生效)

*/10 * * * * /app/run_lan.sh > /dev/null 2>&1

***********************************************************************************************
author:蓝何忠
email:lanhezhong@163.com
***********************************************************************************************

http://www.lryc.cn/news/107865.html

相关文章:

  • SpringBoot项目中的web安全防护
  • stm32和python串口数据收发
  • 无涯教程-jQuery - Dropable移动函数
  • 【Python】Web学习笔记_flask(4)——钩子函数
  • JavaScript 原型链解析,宏任务和微任务
  • 05|Oracle学习(UNIQUE约束)
  • glide加载content://com.android.contacts图片源码粗略梳理
  • 【机器学习】Feature Engineering and Polynomial Regression
  • Rust- 变量绑定
  • 向“数”而“深”,联想凌拓的“破局求变”底气何来?
  • pytorch实战-图像分类(二)(模型训练及验证)(基于迁移学习(理解+代码))
  • b 树和 b+树的理解
  • 正则表达式 —— Awk
  • 国芯新作 | 四核Cortex-A53@1.4GHz,仅168元起?含税?哇!!!
  • 【MyBatis】 框架原理
  • 三、线性工作流
  • 2023华数杯数学建模A题思路 - 隔热材料的结构优化控制研究
  • Zabbix分布式监控Web监控
  • PHP从入门到精通—PHP开发入门-PHP概述、PHP开发环境搭建、PHP开发环境搭建、第一个PHP程序、PHP开发流程
  • 【LeetCode-中等】722. 删除注释
  • rust里如何判断字符串是否相等呢?
  • python基本知识学习
  • vue3和typescript_组件
  • Qt+联想电脑管家
  • 论文阅读-BotPercent: Estimating Twitter Bot Populations from Groups to Crowds
  • 用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(MatlabSimulink实现)
  • Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建 qt
  • 删除注释(力扣)
  • 阿里云AK创建
  • OC与Swift的相互调用