标签:linux
对于Linux的crontab的用法来说大家都很熟悉。
root@ubuntu:~# 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. 脚本实现任务
[root@mfsdata02 ~]# cat cmz.sh #!/bin/bash echo `date +%H:%M:%S`>>/tmp/cmz.txt
2. 添加定时任务
[root@mfsdata02 tmp]# crontab -l * * * * * /bin/bash /root/cmz.sh * * * * * sleep 10; /bin/bash /root/cmz.sh * * * * * sleep 20; /bin/bash /root/cmz.sh
3. 查看输出结果
[root@mfsdata02 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
解释说明:
脚本的任务是20秒钟实现打印当前时间
脚本输出到/tmp/cmz.txt中
其中最关键的还是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)
但是对于每秒钟实验,测试了不行,建议还是时间比较大一点比如10秒,20秒等等大点的,请自行测试
本文出自 “夏天” 博客,请务必保留此出处http://caimengzhi.blog.51cto.com/9787265/1895021
标签:linux
原文地址:http://caimengzhi.blog.51cto.com/9787265/1895021