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
如果需要源代码,请联系作者信箱zhangxugg@163.com
如此,即使当前脚本意外中断退出,也能自行恢复,一定程度上保证了可靠性。
分享到:
相关推荐
在Linux系统中,定时任务和脚本编写是系统管理的重要组成部分,它们允许自动化执行日常维护任务,如数据备份、日志清理、性能监控等。本文档将详细介绍如何创建和配置Linux定时任务,以及编写和执行简单的shell脚本...
总结来说,利用Linux的Crontab 和Shell脚本,我们可以通过设置每分钟执行一次的定时任务,并在脚本内部实现秒级间隔的循环,从而达到秒级定时任务的目的。这种方法灵活且实用,可以适应多种不同的定时需求。在实际...
本文将详细介绍如何在Linux环境下通过定时任务来启动CDC预定脚本,以监控订阅的状态并自动启动处于空闲状态的订阅。 #### 核心知识点 1. **CDC简介与作用** CDC技术是一种用于捕获、存储和传输数据库表中变化的...
使用里面的 _sock 方法非阻塞运行 如果进程死掉了 在触发时 会根据 cron.log 的文件时间 判断超过运行间隔 时间+10秒 重新继续运行 ,cron-run 保证... linux 系统建议使用 crontab 定时任务,window建议使用计划任务。
综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...
首先,我们要了解Linux下的计划任务工具——`cron`。`cron`是Linux系统中一个强大的后台守护进程,用于按照设定的时间间隔执行命令或脚本。它的配置文件是`crontab`,用户可以通过编辑`crontab`文件来定制自己的定时...
Linux Shell脚本是Linux系统中一种非常强大的工具,它通过简单的脚本文件结合一系列的命令行工具和程序来完成复杂的任务。以下是标题和描述中所涉及的知识点详解。 ### Linux经典Shell脚本 #### 用awk去除C语言...
定时任务`crontab -e`是Linux的定时任务管理工具,可以在特定时间间隔执行我们的监控脚本。例如,设置每天凌晨1点运行一次监控脚本,可以添加如下行到crontab配置中: ``` 0 1 * * * /path/to/your/script.sh ``` ...
### 根据MD5HASH监控LINUX的目录文件的bash脚本:深入解析与实践 在网络安全和系统管理领域,确保文件的完整性和安全性是一项至关重要的任务。在Linux环境中,利用脚本来自动化这一过程可以极大地提高效率和响应...
通过设置定时任务,脚本可以按照用户设定的时间间隔自动运行,无论是每小时、每天还是每周,系统都能进行周期性的自我检查。这一功能确保了即使在管理员不在场的情况下,系统仍然可以得到持续的监控,问题能够在第一...
`crontab`允许用户自定义时间间隔,例如每天、每周或每小时,确保备份任务按照设定的时间表进行。 这个脚本虽然简单,但涵盖了Linux自动化备份的基本元素,包括文件的打包、压缩、目录操作、日志记录以及远程文件...
如果提供了参数,第一个参数代表收集读写数据的间隔秒数,第二个参数指定要显示的读写最多进程的数量,第三个参数则是运行脚本的次数。 脚本的核心在于通过访问`/proc`目录下的信息来获取进程的IO数据。在Linux中,...
首先,Linux的任务调度分为系统级任务和用户级任务。`cron`服务主要负责这两类任务的执行。`cron`命令用于定期执行程序,而`crond`服务则是`cron`命令的守护进程,它每分钟检查是否有需要执行的任务,并自动执行这些...
Crontab是Linux系统中用于调度周期性任务的命令,它可以按照设定的时间间隔运行指定的脚本或程序。Crontab配置文件包含一系列规则,每条规则定义了一个任务的执行时间及要执行的命令。 三、配置ThinkPHP 5.1的...
工具的使用可能包括以下几个步骤:设置URL地址,定义执行间隔(秒为单位),选择执行平台(Windows或Linux),并可能提供一些高级选项,如错误处理、请求方法(GET或POST)以及可能的数据发送。用户只需要按照界面...
使用过程中,开发者需要了解如何编写任务脚本,如何注册任务,以及如何启动和监控任务执行。 ### 8. 扩展性与社区支持 作为开源项目,`taskPHP`可能拥有活跃的社区,开发者可以通过提交bug报告、提出改进建议或...
Cron是Linux系统中的任务调度程序,可以按照预设的时间间隔运行脚本。用户可以在`crontab`文件中添加一条新行,设置定时执行喝水提醒脚本。 创建这样一个脚本的基本步骤如下: 1. **初始化脚本**:首先,你需要...