crontab实现秒级任务

对于Linux的crontab的用法来说大家都很熟悉。

[email protected]:~# crontab -l

#.------------------------------------------------------------------- mintues( 0 - 59 )
#|   .--------------------------------------------------------------- hour   ( 0 - 23 )
#|   |   .----------------------------------------------------------- day    ( 1 - 31 )
#|   |   |   . ------------------------------------------------------ month  ( 1 - 12 )
#|   |   |   |   .--------------------------------------------------- week   ( 0 -  6 )
#|   |   |   |   |
*/15 *   *   *   *    /usr/sbin/ntpdate pool.ntp.org  >/dev/null 2>&1

其中上述每个位置表示的含义已经写了很清楚,但是crontab最小是分钟,如何才能实现秒级呢。说白了就是crontab + sleep。如下操作说明:

1. 脚本实现任务

[[email protected] ~]# cat cmz.sh
#!/bin/bash
echo `date +%H:%M:%S`>>/tmp/cmz.txt

2. 添加定时任务

[[email protected] tmp]# crontab -l

*    * * * * /bin/bash /root/cmz.sh
*    * * * * sleep 10; /bin/bash /root/cmz.sh 
*    * * * * sleep 20; /bin/bash /root/cmz.sh

3. 查看输出结果

[[email protected] tmp]# cat cmz.txt 
13:30:01
13:30:21
13:31:01
13:31:21
13:32:01
13:32:21
13:33:01
13:33:21
13:34:01
13:34:21
13:35:01

解释说明:

  1. 脚本的任务是20秒钟实现打印当前时间
  2. 脚本输出到/tmp/cmz.txt中
  3. 其中最关键的还是crontab中如何写

    * * * * * /bin/bash /root/cmz.sh            #第一次执行任务

    * * * * * sleep 10; /bin/bash /root/cmz.sh  #第二次执行任务间隔10秒钟(10-0)

    * * * * * sleep 20; /bin/bash /root/cmz.sh  #第三次执行任务间隔10秒钟(20-10)

  4. 但是对于每秒钟实验,测试了不行,建议还是时间比较大一点比如10秒,20秒等等大点的,请自行测试
时间: 2024-10-29 19:08:33

crontab实现秒级任务的相关文章

Linux crontab 实现秒级定时任务

1   crontab 的延时: 原理:通过延时方法 sleep N  来实现每N秒执行. crontab -e 输入以下语句,然后 :wq 保存退出. * * * * * /usr/bin/curl http://www.test.com * * * * * sleep 5; /usr/bin/curl http://www.test.com * * * * * sleep 10; /usr/bin/curl http://www.test.com * * * * * sleep 15; /u

crontab执行到秒级的常用方案

crontab的粒度最小是到分钟,但是还是可以通过变通的方法做到隔多少秒运行一次. 以下方法将每10秒执行一次 crontab -e /bin/date sleep 10; /bin/date sleep 20; /bin/date sleep 30; /bin/date 意思是每分钟执行 /bin/date,每分钟开始之后sleep10后执行,..... 实际上上面的命令都是在每分钟就已经执行了,技巧就是在commad里面通过sleep来到达秒级间隔.

CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放 《CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放》来自张戈博客

张戈博客很久以前分享过一个CC攻击的防御脚本,写得不怎么样,不过被51CTO意外转载了.博客从此走上了经常被人拿来练手的不归之路. 当然,还是有不少朋友在生产环境使用,并且会留言询问相关问题.根据这些问题的需求,我花了一些时间重新写了一个比较满意的轻量级CC攻击防御脚本,我给它取了一个比较形象的名字:CCKiller,译为CC终结者. 一.功能申明 分享之前我必须先申明一下,众所周知,DDoS攻击指的是分布式拒绝服务.而CC攻击只是DDoS攻击的一种,本文所阐述的CC攻击,指的是每个IP都以高并

Linux下实现秒级定时任务的两种方案

Linux下实现秒级定时任务的两种方案(Crontab 每秒运行): 第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间. while true ;do command sleep XX //间隔秒数 done 第二种方案,使用crontab. 我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次. 以下方法将每20秒执行一次 crontab -e * * * * * /bin/date* * * * * sleep 20;

如何让linux定时任务crontab按秒执行

如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟 如果想以秒为单位执行,应该如何设置呢? 思路 正常情况是在crontab中直接定义要执行的任务,现在我们在中间添加一个脚本文件 自定义一个脚本文件,循环执行要执行的任务,循环中使用sleep来控制间隔秒数 在crontab中添加一个任务,设置为每分钟都执行这个脚本 就是用crontab控制分钟,用脚本内的循环来控制秒 示例 (1) 定义目标任务 用php写了一个测试任务,向文件中写一个时间信

企业实战-KeepAlived+Redis实现主从热备、秒级切换

最近公司生产环境需要做一个Redis+Keepalived的集群架构,分别用六个端口,实现多路复用,最终实现主从热备.秒级切换. 一.部署Redis集群 首先用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环 境.然后模拟成功,方可去线上生产服务器部署. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210)

天猫11.11:搜索引擎实时秒级更新

搜索是很多用户在天猫购物时的第一入口,搜索结果会根据销量.库存.人气对商品进行排序,而商品的显示顺序往往会决定用户的选择,所以保证搜索结果的实时性和准确性非常重要.在电商系统中,特别是在“双十一”这样的高并发场景下,如何准确展示搜索结果显得尤为重要.在今年的“双十一”活动中,InfoQ有幸采访到了阿里巴巴集团搜索引擎的三位负责人仁基.桂南和悾傅,与他们共同探讨了搜索引擎背后的细节.以下内容根据本次采访整理而成. 阿里巴巴的搜索引擎承担着全集团的搜索业务,包括淘宝.天猫.1688等系统,对比传统的

redis+Keepalived主从热备秒级切换

一 简介 安装使用centos 5.10 Master 192.168.235.135 Slave 192.168.235.152 Vip 192.168.235.200 编译环境 yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel 当 Master 与 Slave 均运作正常时, Master负责服务,Slave负责Standby: 当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭

Freeline - Android平台上的秒级编译方案

FreeLine是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部开源,稳定性方面:完善的基线对齐,进程级别异常隔离机制.性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发dx,并发merge dex等策略,在多核机器上有明显加速效果,另外在class及dex,resources层面作了相应缓存策略,做到真正增量开发,另外引入