crontab实现秒级的计划任务
2017-11-29 21:08
148 查看
打开crontab的配置文件:
[root@localhost ~]# cat /etc/crontab
可以看到,他的5颗星分别代表 分钟、小时、天、星期、月份
那么可以实现的最小时间单位是分钟,想要实现秒级的计划任就需要另外做些处理:
我们要看到秒级的执行情况,需要借用一个date命令,这一样可以很好的看到结果。
每分钟将date输出的内容导入到/mnt/file的计划任务是:
这是每一分钟执行一次计划任务。接下来进入正题,看如何实现每秒执行一次的计划任务:
先来看下每10秒执行一次的实现方法:
用sleep10 表示休眠10s,
这样写就实现了每10秒执行一次,用了5个计划任务。如果要实现每5秒,甚至是每1秒执行一次,就要写59行计划任务了,显然太繁琐,可以用一个脚本的方式实现:
结果是:
可以看到结果是每一秒都将date的结果导入到了指定的文件,这样就实现了每秒执行一次了。
[root@localhost ~]# cat /etc/crontab
# Example of job definition: # .---------------- 分钟(0 - 59) # | .------------- 小时 (0 - 23) # | | .---------- 一月中的哪一天 (1 - 31) # | | | .------- 月份 (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- 星期 (0 - 6) (Sunday=0 or 7) OR sun,mon... # | | | | | # * * * * * 用户 命令(或者脚本)
可以看到,他的5颗星分别代表 分钟、小时、天、星期、月份
那么可以实现的最小时间单位是分钟,想要实现秒级的计划任就需要另外做些处理:
我们要看到秒级的执行情况,需要借用一个date命令,这一样可以很好的看到结果。
每分钟将date输出的内容导入到/mnt/file的计划任务是:
[root@eg0 mnt]# crontab -l * * * * * date>>/mnt/file
这是每一分钟执行一次计划任务。接下来进入正题,看如何实现每秒执行一次的计划任务:
先来看下每10秒执行一次的实现方法:
[root@eg0 mnt]# crontab -l * * * * * sleep 10; date>>/mnt/file * * * * * sleep 20; date>>/mnt/file * * * * * sleep 30; date>>/mnt/file * * * * * sleep 40; date>>/mnt/file * * * * * sleep 50; date>>/mnt/file
[root@eg0 mnt]# cat /mnt/file Wed Nov 29 07:46:01 EST 2017 Wed Nov 29 07:46:11 EST 2017 Wed Nov 29 07:46:21 EST 2017 Wed Nov 29 07:46:31 EST 2017 Wed Nov 29 07:46:41 EST 2017 Wed Nov 29 07:46:51 EST 2017 Wed Nov 29 07:47:01 EST 2017 Wed Nov 29 07:47:11 EST 2017 Wed Nov 29 07:47:21 EST 2017 Wed Nov 29 07:47:31 EST 2017 Wed Nov 29 07:47:41 EST 2017 Wed Nov 29 07:47:51 EST 2017 Wed Nov 29 07:48:01 EST 2017
用sleep10 表示休眠10s,
这样写就实现了每10秒执行一次,用了5个计划任务。如果要实现每5秒,甚至是每1秒执行一次,就要写59行计划任务了,显然太繁琐,可以用一个脚本的方式实现:
[root@eg0 mnt]# vim test.sh #!/bin/bash step=1 #间隔的秒数,不能大于60 for ((i=0;i<60;i=(i+step)));do $(date>>/mnt/file) sleep $step done exit 0
[root@eg0 mnt]# chmod +x test.sh [root@eg0 mnt]< 4000 span class="hljs-comment"># crontab -e * * * * * sh /mnt/date.sh
结果是:
[root@eg0 mnt]# cat file Wed Nov 29 08:06:02 EST 2017 Wed Nov 29 08:06:03 EST 2017 Wed Nov 29 08:06:04 EST 2017 Wed Nov 29 08:06:05 EST 2017 Wed Nov 29 08:06:06 EST 2017 Wed Nov 29 08:06:07 EST 2017 Wed Nov 29 08:06:08 EST 2017 Wed Nov 29 08:06:09 EST 2017 Wed Nov 29 08:06:10 EST 2017 Wed Nov 29 08:06:11 EST 2017 Wed Nov 29 08:06:12 EST 2017 Wed Nov 29 08:06:13 EST 2017 Wed Nov 29 08:06:14 EST 2017 Wed Nov 29 08:06:15 EST 2017 Wed Nov 29 08:06:16 EST 2017 Wed Nov 29 08:06:17 EST 2017 Wed Nov 29 08:06:18 EST 2017 Wed Nov 29 08:06:19 EST 2017 Wed Nov 29 08:06:20 EST 2017 Wed Nov 29 08:06:21 EST 2017 Wed Nov 29 08:06:22 EST 2017 Wed Nov 29 08:06:23 EST 2017 Wed Nov 29 08:06:24 EST 2017 Wed Nov 29 08:06:25 EST 2017 Wed Nov 29 08:06:26 EST 2017 Wed Nov 29 08:06:27 EST 2017 Wed Nov 29 08:06:28 EST 2017 Wed Nov 29 08:06:29 EST 2017 Wed Nov 29 08:06:30 EST 2017 Wed Nov 29 08:06:31 EST 2017 Wed Nov 29 08:06:32 EST 2017 Wed Nov 29 08:06:33 EST 2017 Wed Nov 29 08:06:34 EST 2017 Wed Nov 29 08:06:35 EST 2017 Wed Nov 29 08:06:36 EST 2017 Wed Nov 29 08:06:37 EST 2017 Wed Nov 29 08:06:38 EST 2017 Wed Nov 29 08:06:39 EST 2017 Wed Nov 29 08:06:40 EST 2017 Wed Nov 29 08:06:41 EST 2017 Wed Nov 29 08:06:42 EST 2017 Wed Nov 29 08:06:43 EST 2017 Wed Nov 29 08:06:44 EST 2017 Wed Nov 29 08:06:45 EST 2017 Wed Nov 29 08:06:46 EST 2017 Wed Nov 29 08:06:47 EST 2017 Wed Nov 29 08:06:48 EST 2017 Wed Nov 29 08:06:49 EST 2017 Wed Nov 29 08:06:50 EST 2017 Wed Nov 29 08:06:51 EST 2017 Wed Nov 29 08:06:52 EST 2017 Wed Nov 29 08:06:53 EST 2017 Wed Nov 29 08:06:54 EST 2017 Wed Nov 29 08:06:55 EST 2017 Wed Nov 29 08:06:56 EST 2017 Wed Nov 29 08:06:57 EST 2017 Wed Nov 29 08:06:58 EST 2017 Wed Nov 29 08:06:59 EST 2017 Wed Nov 29 08:07:00 EST 2017 Wed Nov 29 08:07:01 EST 2017 Wed Nov 29 08:07:01 EST 2017 Wed Nov 29 08:07:02 EST 2017 Wed Nov 29 08:07:03 EST 2017
可以看到结果是每一秒都将date的结果导入到了指定的文件,这样就实现了每秒执行一次了。
相关文章推荐
- shell实现秒级crontab计划任务
- Linux下实现秒级的crontab定时任务
- Linux下怎么来利用crontab实现计划任务
- Centos7 上 用crontab 实现php计划任务
- linux下使用crontab实现定时PHP计划任务失败的原因分析
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- linux使用crontab实现PHP执行计划定时任务
- Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
- Centos7 上 用crontab 实现php计划任务
- RHEL5 下基于crontab的计划任务两种实现方式
- Linux系统使用crontab命令实现计划任务
- linux使用crontab实现PHP执行计划定时任务
- linux下使用crontab实现定时PHP计划任务失败的原因分析
- Linux实现秒级定时任务(crontab)Shell小脚本
- Linux系统使用crontab命令实现计划任务
- linux下使用crontab实现定时PHP计划任务失败的原因分析
- linux使用crontab实现PHP执行计划定时任务
- crontab实现秒级任务
- linux使用crontab实现PHP执行计划定时任务
- Linux系统使用crontab命令实现计划任务