linux中的crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复执行,可以有两个方法实现。
一. 直接在crontab -e中。
* * * * * 执行命令绝对路径 文件绝对路径
* * * * * sleep 10; 执行命令绝对路径 文件绝对路径
* * * * * sleep 20; 执行命令绝对路径 文件绝对路径
* * * * * sleep 30; 执行命令绝对路径 文件绝对路径
* * * * * sleep 40; 执行命令绝对路径 文件绝对路径
* * * * * sleep 50; 执行命令绝对路径 文件绝对路径
上面,是每隔10秒执行一次,且,sleep的秒数必须能被60整除,不能有余数。
二. 使用sh脚本
脚本
#!/bin/bash
step=2 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do
$(命令绝对路径 '文件绝对路径')
sleep $step
done
exit 0
crontab -e
* * * * * /bin/bash sh脚本绝对路径
需要注意的是,如果设置的间隔秒数不能被60整除,例如7,那么,就需要找到间隔与60的公倍数,即420, 那么上面的脚本中,
i < 60;
就要改成
i < 420
同时,crontab -e 中也要改成
*/7 * * * * /bin/bash sh脚本绝对路径
转载至链接:https://my.oschina.net/u/3826227/blog/1934599