首页 > 代码库 > 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行?
linux定时任务crontab最小执行时间单位为分钟
如果想以秒为单位执行,应该如何设置呢?
思路
正常情况是在crontab中直接定义要执行的任务,现在我们在中间添加一个脚本文件
自定义一个脚本文件,循环执行要执行的任务,循环中使用sleep来控制间隔秒数
在crontab中添加一个任务,设置为每分钟都执行这个脚本
就是用crontab控制分钟,用脚本内的循环来控制秒
示例
(1) 定义目标任务
用php写了一个测试任务,向文件中写一个时间信息
文件路径 /root/test.php
<?php
file_put_contents(‘/root/run.log‘, date(‘Y-m-d H:i:s‘)."\r\n", FILE_APPEND);
?>
(2)编写执行任务的脚本
文件路径 /root/test.sh
#!/bin/bash
#间隔的秒数,就是要几秒执行一次
#不能大于60
step=2
for (( i = 0; i < 60; i=(i+step) )); do
$(php ‘/root/test.php‘)
sleep $step
done
exit 0
(3)添加定时任务
crontab -e
* * * * * /root/test.sh
重启定时任务服务
service crond restart
(4)查看效果
tail -f /root/run.log
可以看到按秒打印了信息
如何让linux定时任务crontab按秒执行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。