Linux实现秒级定时任务(crontab)Shell小脚本
2016-12-19 21:52
701 查看
今天领导让我配置一个服务器job,要求是暂时每秒钟都要跑一次。本来想到去crontab配置。Linux的定时任务简单地配置到crontab里面就可以了,设置方法也很简单,如下所示,6个参数依次表示为“分、时、日、月、周和具体任务”(示例为每天凌晨3点执行freshclam工作)。
所以,从5个时间参数来看最小是精确到某一分钟执行。当然,通过互相组合已经满足绝大多数定时任务的需求了,毕竟,秒级别的定时任务还是比较少见和少用到的。既然5个时间参数没法实现,就只能靠其他方法了。于是想到写一个脚本,就如以下Shell小脚本。
#! /bin/bash
# Author : 蛙鳜鸡鹳狸猿
# create : 2016年 12月 19日 星期一 21:24:21 CST
# program : process of second level crontab to script
# crontab : NULL
#
#
# way 1
# for (( i=0; i<i+1; i++ ))
# do
# echo "@ $(date) I LOVE YOU" && sleep 1
# done
#
#
# way 2
# while true
# do
# echo "@ $(date) I LOVE YOU" && sleep 1
# done
#
#
# way 3
until false
do
echo "@ $(date) I LOVE YOU" && sleep 1
done
#
方法就是把命令放入一个条件永远满足或不满足的循环中每隔1秒执行一次。过程很简单!具体来说三种循环for、while和until都可以实现。这里也给出了三个脚本way 1,way 2和way 3。建议的话是用第三种,即没有注掉的way 3。第一种既要维持一个i计数器,同时也要做大小比较。第二种和第三种其实是一样的,区别在于第三种理解起来更粗暴,“一直do …… 直到 …… done”,适合于我们这个粗暴的环境。示例中是直到 “false” 否则每秒钟输出当前系统时间加上“I LOVE YOU”。LOVE个鬼,具体用的时候换成其他命令就行了,隔多少秒执行一次就改一下sleep参数。将其写入脚本执行后,就相当于实现了秒级别的定时任务crontab了!
[root@student ~]# crontab -l 0 3 * * * freshclam
所以,从5个时间参数来看最小是精确到某一分钟执行。当然,通过互相组合已经满足绝大多数定时任务的需求了,毕竟,秒级别的定时任务还是比较少见和少用到的。既然5个时间参数没法实现,就只能靠其他方法了。于是想到写一个脚本,就如以下Shell小脚本。
#! /bin/bash
# Author : 蛙鳜鸡鹳狸猿
# create : 2016年 12月 19日 星期一 21:24:21 CST
# program : process of second level crontab to script
# crontab : NULL
#
#
# way 1
# for (( i=0; i<i+1; i++ ))
# do
# echo "@ $(date) I LOVE YOU" && sleep 1
# done
#
#
# way 2
# while true
# do
# echo "@ $(date) I LOVE YOU" && sleep 1
# done
#
#
# way 3
until false
do
echo "@ $(date) I LOVE YOU" && sleep 1
done
#
方法就是把命令放入一个条件永远满足或不满足的循环中每隔1秒执行一次。过程很简单!具体来说三种循环for、while和until都可以实现。这里也给出了三个脚本way 1,way 2和way 3。建议的话是用第三种,即没有注掉的way 3。第一种既要维持一个i计数器,同时也要做大小比较。第二种和第三种其实是一样的,区别在于第三种理解起来更粗暴,“一直do …… 直到 …… done”,适合于我们这个粗暴的环境。示例中是直到 “false” 否则每秒钟输出当前系统时间加上“I LOVE YOU”。LOVE个鬼,具体用的时候换成其他命令就行了,隔多少秒执行一次就改一下sleep参数。将其写入脚本执行后,就相当于实现了秒级别的定时任务crontab了!
相关文章推荐
- crontab和shell脚本,实现linux定时任务
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- 通过linux的crontab实现定时执行shell脚本功能
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- linux下使用Crontab实现PHP脚本定时任务
- LINUX定时执行SHELL脚本实现DB2数据库操作,crontab无法正常识别执行
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- linux中crontab的用法,shell实现定时任务
- Linux下实现秒级定时任务的两种方案(Crontab 每秒运行)
- linux下利用shell脚本实现添加crontab任务
- 关于linux定时任务与shell脚本——实现远程数据库备份
- Linux下实现秒级的crontab定时任务
- linux直接执行shell脚本正常,使用定时任务crontab执行出错
- Shell脚本之crontab定时任务
- linux使用crontab实现PHP执行定时任务
- Linux-crontab命令工具设置定时任务用于执行DB2脚本
- linux真正使用shell脚本做定时任务 关键的Nohup
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令