crontab实现每N秒执行一次

linux中的crontab 命令,最小的执行时间是一分钟。如须要在小于一分钟内重复执行,能够有两个方法实现。linux

一. 直接在crontab -e中。bash

* * * * * 执行命令绝对路径  文件绝对路径
* * * * * sleep 10; 执行命令绝对路径  文件绝对路径
* * * * * sleep 20; 执行命令绝对路径  文件绝对路径
* * * * * sleep 30; 执行命令绝对路径  文件绝对路径
* * * * * sleep 40; 执行命令绝对路径  文件绝对路径
* * * * * sleep 50; 执行命令绝对路径  文件绝对路径

上面,是每隔10秒执行一次,且,sleep的秒数必须能被60整除,不能有余数。code

二. 使用sh脚本crontab

脚本it

#!/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;

就要改为tab

i < 420

同时,crontab -e 中也要改为文件

*/7 * * * * /bin/bash  sh脚本绝对路径
相关文章
相关标签/搜索