Linux的 cron 计划任务最短间隔只有一分钟,在一些要求下,需要计划任务脚本以秒级别的间隔运行,比如一些队列处理程序,状态检测程序等等。这个使用shell 的 while, sleep 即可实现,实际就是形成一个死循环,反复执行指定的流程。如果要退出这个程序,直接杀死进程即可。但是我见过一些人写的脚本,没有考虑到脚本意外被中断时的恢复问题,或单实例问题(即此任务只能运行一次),经过总结,我整理了本文代码,以供参考,实现的特性:1. 自定义运行间隔2. 单实例(只能运行一次,多次运行是无效的)3. 信号处理(可接收普通的进程控制信号)second-cron.sh的内容:#!/bin/bashinterval=5single_instance=ypidfile=/var/lock/subsys/`basename $0`.pidif [ "$single_instance" == "y" ] ; thenif [ -f $pidfile ] && [ -e /proc/`cat $pidfile` ] ; thenexit 1fifitrap "rm -fr $pidfile ; exit 0" 1 2 3 15echo $$ > $pidfilefunction process() {echo "process ..." > /dev/null}while [ 1 ]doprocesssleep $intervaldone内容非常简单,请根据具体需要修改文件名称,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.com8月Linux秒级间隔的计划任务脚本下载方法见 http://www.linuxidc.net/thread-1187-1-1.html如此,即使当前脚本意外中断退出,也能自行恢复,一定程度上保证了可靠性。Linux下超大硬盘分构(GPT分区)Ubuntu 12.04 x64安装Evernote_4.5.8.7356.exe相关资讯 Linux脚本 cron
- Linux 计划任务 Cron (今 10:31)
- RHCSA 系列(十): Yum 包管理、 (09/27/2015 08:15:49)
- Linux定时任务中用脚本代替可执行 (06/06/2015 06:37:39)
| - 获取Linux服务器基本信息脚本 (02月17日)
- 在Ubuntu 14.04使用Cron实现作业自 (08/04/2015 20:30:07)
- Linux 批量拷贝数据脚本 (03/05/2015 10:47:12)
|
本文评论 查看全部评论 (0)