大家都知道Crontab最小只能设置以分为单位执行任务, 有的时候确实有以秒为单位来执行任务的需求, 比如HA的心跳检测. 现在可以采用一个看起来很笨, 却非常靠谱的方法, 如下示例: $ crontab -e -------------------------------------------------- * * * * * date >>/tmp/test.log * * * * * sleep 1 && date >>/tmp/test.log * * * * * sleep 2 && date >>/tmp/test.log * * * * * sleep 3 && date >>/tmp/test.log * * * * * sleep 4 && date >>/tmp/test.log * * * * * sleep 5 && date >>/tmp/test.log * * * * * sleep 6 && date >>/tmp/test.log * * * * * sleep 7 && date >>/tmp/test.log * * * * * sleep 8 && date >>/tmp/test.log * * * * * sleep 9 && date >>/tmp/test.log * * * * * sleep 10 && date >>/tmp/test.log * * * * * sleep 11 && date >>/tmp/test.log * * * * * sleep 12 && date >>/tmp/test.log * * * * * sleep 13 && date >>/tmp/test.log * * * * * sleep 14 && date >>/tmp/test.log * * * * * sleep 15 && date >>/tmp/test.log * * * * * sleep 16 && date >>/tmp/test.log * * * * * sleep 17 && date >>/tmp/test.log * * * * * sleep 18 && date >>/tmp/test.log * * * * * sleep 19 && date >>/tmp/test.log * * * * * sleep 20 && date >>/tmp/test.log * * * * * sleep 21 && date >>/tmp/test.log * * * * * sleep 22 && date >>/tmp/test.log * * * * * sleep 23 && date >>/tmp/test.log * * * * * sleep 24 && date >>/tmp/test.log * * * * * sleep 25 && date >>/tmp/test.log * * * * * sleep 26 && date >>/tmp/test.log * * * * * sleep 27 && date >>/tmp/test.log * * * * * sleep 28 && date >>/tmp/test.log * * * * * sleep 29 && date >>/tmp/test.log * * * * * sleep 30 && date >>/tmp/test.log * * * * * sleep 31 && date >>/tmp/test.log * * * * * sleep 32 && date >>/tmp/test.log * * * * * sleep 33 && date >>/tmp/test.log * * * * * sleep 34 && date >>/tmp/test.log * * * * * sleep 35 && date >>/tmp/test.log * * * * * sleep 36 && date >>/tmp/test.log * * * * * sleep 37 && date >>/tmp/test.log * * * * * sleep 38 && date >>/tmp/test.log * * * * * sleep 39 && date >>/tmp/test.log * * * * * sleep 40 && date >>/tmp/test.log * * * * * sleep 41 && date >>/tmp/test.log * * * * * sleep 42 && date >>/tmp/test.log * * * * * sleep 43 && date >>/tmp/test.log * * * * * sleep 44 && date >>/tmp/test.log * * * * * sleep 45 && date >>/tmp/test.log * * * * * sleep 46 && date >>/tmp/test.log * * * * * sleep 47 && date >>/tmp/test.log * * * * * sleep 48 && date >>/tmp/test.log * * * * * sleep 49 && date >>/tmp/test.log * * * * * sleep 50 && date >>/tmp/test.log * * * * * sleep 51 && date >>/tmp/test.log * * * * * sleep 52 && date >>/tmp/test.log * * * * * sleep 53 && date >>/tmp/test.log * * * * * sleep 54 && date >>/tmp/test.log * * * * * sleep 55 && date >>/tmp/test.log * * * * * sleep 56 && date >>/tmp/test.log * * * * * sleep 57 && date >>/tmp/test.log * * * * * sleep 58 && date >>/tmp/test.log * * * * * sleep 59 && date >>/tmp/test.log -------------------------------------------------- 看一下结果, 基本上很准哦. $ tail -100f /tmp/test.log Thu Jul 7 18:20:00 HKT 2011 Thu Jul 7 18:20:01 HKT 2011 Thu Jul 7 18:20:02 HKT 2011 Thu Jul 7 18:20:03 HKT 2011 Thu Jul 7 18:20:04 HKT 2011 Thu Jul 7 18:20:05 HKT 2011 Thu Jul 7 18:20:06 HKT 2011 Thu Jul 7 18:20:07 HKT 2011 Thu Jul 7 18:20:08 HKT 2011 Thu Jul 7 18:20:09 HKT 2011 Thu Jul 7 18:20:10 HKT 2011 Thu Jul 7 18:20:11 HKT 2011 Thu Jul 7 18:20:12 HKT 2011 Thu Jul 7 18:20:13 HKT 2011 Thu Jul 7 18:20:14 HKT 2011 Thu Jul 7 18:20:15 HKT 2011 Thu Jul 7 18:20:16 HKT 2011 Thu Jul 7 18:20:17 HKT 2011 Thu Jul 7 18:20:18 HKT 2011 Thu Jul 7 18:20:19 HKT 2011 Thu Jul 7 18:20:20 HKT 2011 Thu Jul 7 18:20:21 HKT 2011 Thu Jul 7 18:20:22 HKT 2011 Thu Jul 7 18:20:23 HKT 2011 Thu Jul 7 18:20:24 HKT 2011 Thu Jul 7 18:20:25 HKT 2011 Thu Jul 7 18:20:26 HKT 2011 Thu Jul 7 18:20:27 HKT 2011 Thu Jul 7 18:20:28 HKT 2011 Thu Jul 7 18:20:29 HKT 2011 Thu Jul 7 18:20:30 HKT 2011 Thu Jul 7 18:20:31 HKT 2011 Thu Jul 7 18:20:32 HKT 2011 Thu Jul 7 18:20:33 HKT 2011 Thu Jul 7 18:20:34 HKT 2011 Thu Jul 7 18:20:35 HKT 2011 Thu Jul 7 18:20:36 HKT 2011 Thu Jul 7 18:20:37 HKT 2011 Thu Jul 7 18:20:38 HKT 2011 Thu Jul 7 18:20:39 HKT 2011 Thu Jul 7 18:20:40 HKT 2011 Thu Jul 7 18:20:41 HKT 2011 Thu Jul 7 18:20:42 HKT 2011 Thu Jul 7 18:20:43 HKT 2011 Thu Jul 7 18:20:44 HKT 2011 Thu Jul 7 18:20:45 HKT 2011 Thu Jul 7 18:20:46 HKT 2011 Thu Jul 7 18:20:47 HKT 2011 Thu Jul 7 18:20:48 HKT 2011 Thu Jul 7 18:20:49 HKT 2011 Thu Jul 7 18:20:50 HKT 2011 Thu Jul 7 18:20:51 HKT 2011 Thu Jul 7 18:20:52 HKT 2011 Thu Jul 7 18:20:53 HKT 2011 Thu Jul 7 18:20:54 HKT 2011 Thu Jul 7 18:20:55 HKT 2011 Thu Jul 7 18:20:56 HKT 2011 Thu Jul 7 18:20:57 HKT 2011 Thu Jul 7 18:20:58 HKT 2011 Thu Jul 7 18:20:59 HKT 2011 如果设置每10秒执行一次任务, 那么就如下设置: -------------------------------------------------- * * * * * date >>/tmp/test.log 其它依此类推. 不建议那种在shell里通过sleep的方式来实现, 因为shell本身自己需要执行时间, 其实不准的. --END-- |
通过Crontab实现以秒为单位执行任务的方法
最新推荐文章于 2024-05-29 14:55:02 发布
通过Crontab实现以秒为单位执行任务的方法