感谢支持
我们一直在努力

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公社的1号FTP服务器里,下载地址:


FTP地址:ftp://www.linuxidc.com


用户名:www.linuxidc.com


密码:www.muu.cc


在 2012年LinuxIDC.com\8月\Linux秒级间隔的计划任务脚本


下载方法见 http://www.linuxidc.net/thread-1187-1-1.html


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

赞(0) 打赏
转载请注明出处:服务器评测 » Linux秒级间隔的计划任务脚本
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏