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腳本絕對路徑
相關文章
相關標籤/搜索