`
linux糕富帅
  • 浏览: 3687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Linux秒级间隔的计划任务脚本

阅读更多
Linux的 cron 计划任务最短间隔只有一分钟,在一些要求下,需要计划任务脚本以秒级别的间隔运行,比如一些队列处理程序,状态检测程序等等。这个使用shell 的 while, sleep  即可实现,实际就是形成一个死循环,反复执行指定的流程。如果要退出这个程序,直接杀死进程即可。但是我见过一些人写的脚本,没有考虑到脚本意外被中断时的恢复问题,或单实例问题(即此任务只能运行一次)。


经过总结,我整理了本文代码,以供参考,实现的特性:

1,自定义运行间隔

2,单实例(只能运行一次,多次运行是无效的)

3,信号处理(可接收普通的进程控制信号)


second-cron.sh的内容:

#!/bin/bash
interval=5
single_instance=y
pidfile=/var/lock/subsys/`basename $0`.pid
if [ "$single_instance" == "y" ] ; then
if [ -f $pidfile ] && [ -e /proc/`cat $pidfile` ] ; then
exit 1
fi
fi
trap "rm -fr $pidfile ; exit 0" 1 2 3 15
echo $$ > $pidfile
function process() {
echo "process ..." > /dev/null
}
while [ 1 ]
do
process
sleep $interval
done


内容非常简单,请根据具体需要修改文件名称,interval, single_instance 几项参数。 process 函数中的处理流程请自行根据需要完善即可。


如果要避免此脚本意外退出后能自行恢复,请在cron 计划任务中添加:*/1  *  *  *  * /root/second-cron.sh


如此,即使当前脚本意外中断退出,也能自行恢复,一定程度上保证了可靠性。

更多精彩linux视频教程,尽在51CTO学院:
http://edu.51cto.com/course/courseList/id-48.html



分享到:
评论

相关推荐

    Linux定时任务以及脚本编写docx

    在Linux系统中,定时任务和脚本编写是系统管理的重要组成部分,它们允许自动化执行日常维护任务,如数据备份、日志清理、性能监控等。本文档将详细介绍如何创建和配置Linux定时任务,以及编写和执行简单的shell脚本...

    Linux Crontab Shell脚本实现秒级定时任务的方法

    总结来说,利用Linux的Crontab 和Shell脚本,我们可以通过设置每分钟执行一次的定时任务,并在脚本内部实现秒级间隔的循环,从而达到秒级定时任务的目的。这种方法灵活且实用,可以适应多种不同的定时需求。在实际...

    Linux下定时启动CDC预定脚本

    本文将详细介绍如何在Linux环境下通过定时任务来启动CDC预定脚本,以监控订阅的状态并自动启动处于空闲状态的订阅。 #### 核心知识点 1. **CDC简介与作用** CDC技术是一种用于捕获、存储和传输数据库表中变化的...

    纯PHP 定时脚本_定时任务_计划任务

    使用里面的 _sock 方法非阻塞运行 如果进程死掉了 在触发时 会根据 cron.log 的文件时间 判断超过运行间隔 时间+10秒 重新继续运行 ,cron-run 保证... linux 系统建议使用 crontab 定时任务,window建议使用计划任务。

    Linux下清理数据库shell脚本

    综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...

    linux下定时执行脚本

    首先,我们要了解Linux下的计划任务工具——`cron`。`cron`是Linux系统中一个强大的后台守护进程,用于按照设定的时间间隔执行命令或脚本。它的配置文件是`crontab`,用户可以通过编辑`crontab`文件来定制自己的定时...

    Linux经典Shell脚本

    Linux Shell脚本是Linux系统中一种非常强大的工具,它通过简单的脚本文件结合一系列的命令行工具和程序来完成复杂的任务。以下是标题和描述中所涉及的知识点详解。 ### Linux经典Shell脚本 #### 用awk去除C语言...

    linux 运维自动监测脚本(CPU,内存,磁盘,负载),自测成功

    定时任务`crontab -e`是Linux的定时任务管理工具,可以在特定时间间隔执行我们的监控脚本。例如,设置每天凌晨1点运行一次监控脚本,可以添加如下行到crontab配置中: ``` 0 1 * * * /path/to/your/script.sh ``` ...

    Linux操作系统健康巡检脚本

    crontab允许用户设置定时任务,按照预设的时间间隔(如每小时、每天或每周)执行巡检脚本。这样,即使在无人值守的情况下,也能持续监控系统的健康状况,及时发现并处理问题。 在实际应用中,"bclinux-check"文件是...

    根据MD5HASH监控LINUX的目录文件的bash脚本

    ### 根据MD5HASH监控LINUX的目录文件的bash脚本:深入解析与实践 在网络安全和系统管理领域,确保文件的完整性和安全性是一项至关重要的任务。在Linux环境中,利用脚本来自动化这一过程可以极大地提高效率和响应...

    linux脚本备份

    `crontab`允许用户自定义时间间隔,例如每天、每周或每小时,确保备份任务按照设定的时间表进行。 这个脚本虽然简单,但涵盖了Linux自动化备份的基本元素,包括文件的打包、压缩、目录操作、日志记录以及远程文件...

    python Linux-IO分析代码脚本.docx

    如果提供了参数,第一个参数代表收集读写数据的间隔秒数,第二个参数指定要显示的读写最多进程的数量,第三个参数则是运行脚本的次数。 脚本的核心在于通过访问`/proc`目录下的信息来获取进程的IO数据。在Linux中,...

    管理Linux计划任务.pdf

    首先,Linux的任务调度分为系统级任务和用户级任务。`cron`服务主要负责这两类任务的执行。`cron`命令用于定期执行程序,而`crond`服务则是`cron`命令的守护进程,它每分钟检查是否有需要执行的任务,并自动执行这些...

    thinkphp 5.1 定时任务,Crontab 计划任务-think-cron.zip

    Crontab是Linux系统中用于调度周期性任务的命令,它可以按照设定的时间间隔运行指定的脚本或程序。Crontab配置文件包含一系列规则,每条规则定义了一个任务的执行时间及要执行的命令。 三、配置ThinkPHP 5.1的...

    定时url,定时任务执行,每隔秒执行请求网址

    工具的使用可能包括以下几个步骤:设置URL地址,定义执行间隔(秒为单位),选择执行平台(Windows或Linux),并可能提供一些高级选项,如错误处理、请求方法(GET或POST)以及可能的数据发送。用户只需要按照界面...

    taskPHP基于php开发的定时计划任务框架,多进程实现任务的分配和运行

    使用过程中,开发者需要了解如何编写任务脚本,如何注册任务,以及如何启动和监控任务执行。 ### 8. 扩展性与社区支持 作为开源项目,`taskPHP`可能拥有活跃的社区,开发者可以通过提交bug报告、提出改进建议或...

    linux-一个提醒你喝水的zshbash脚本

    Cron是Linux系统中的任务调度程序,可以按照预设的时间间隔运行脚本。用户可以在`crontab`文件中添加一条新行,设置定时执行喝水提醒脚本。 创建这样一个脚本的基本步骤如下: 1. **初始化脚本**:首先,你需要...

Global site tag (gtag.js) - Google Analytics