内容目录
提醒:本文最后更新于 2022-07-01 11:05,文中所关联的信息可能已发生改变,请知悉!
本文讲解 如何 使用 Crontab 精确到秒
我们知道 linux crontab 命令可以实现定时执行任务,最小的执行周期是 1 分钟
执行指定命令默认是当前执行分钟的第 0~1 秒开始
例如:
test.php
<?php | |
echo date('Y-m-d H:i:s').PHP_EOL; | |
?> |
设置 crontab
* * * * * php /Users/fdipzone/test.php >> /Users/fdipzone/test.log
几分钟后查看 test.log,内容如下
2016-07-31 16:35:00 | |
2016-07-31 16:36:01 | |
2016-07-31 16:37:00 | |
2016-07-31 16:38:00 | |
2016-07-31 16:39:00 | |
2016-07-31 16:40:00 |
可以看到,crontab 总是在执行分钟的 0~1 秒开始执行指定命令。
如果想在执行分钟的第 30 秒执行,只使用 crontab 命令不能做到,但我们可以加一个 sleep 命令去延迟执行,使延迟指定秒数后再执行指定命令。
例如:
* * * * * sleep 30; php /Users/fdipzone/test.php >> /Users/fdipzone/test.log
几分钟后查看 test.log,内容如下
2016-07-31 16:42:31 | |
2016-07-31 16:43:30 | |
2016-07-31 16:44:30 | |
2016-07-31 16:45:30 | |
2016-07-31 16:46:30 | |
2016-07-31 16:47:30 | |
2016-07-31 16:48:31 | |
2016-07-31 16:49:30 |
实现指定第几秒执行指定命令。
正文完