[英]How to setup CRON job to run every 10 seconds in Linux?
我需要從開始時間開始每 10 秒運行一次CRON
作業。
在 Linux 中如何從開始時每 10 秒運行一次CRON
作業?
我正在嘗試解決以下問題:當我在 04:28:34 發出請求(或開始)時,它應該在 04:28:44 開始,而不是在 4:28:40
這就是我所做的
# m h dom mon dow command
*/10 * * * * /usr/bin/wget http://api.us/application/
我做錯了什么? 為什么這不會每 10 秒觸發一次wget
?
為了詳細說明 Sougata Bose 的回答,我認為 OP 希望從開始時間每 10 秒運行一次命令; 第一分鍾和之后的每一分鍾都不是 10 秒。
cron 只有 1 分鍾的分辨率(我認為還有其他工具可能有更精細的分辨率,但它們不是 unix 上的標准)。
因此,要解決您的問題,您需要 60 秒/10 秒 = 6 個 cron 作業,每個作業都有一個睡眠。
例如,運行 crontab -e 並將以下幾行添加到您選擇的編輯器中:
* * * * * ( /usr/bin/wget http://api.us/application/ )
* * * * * ( sleep 10 ; /usr/bin/wget http://api.us/application/ )
* * * * * ( sleep 20 ; /usr/bin/wget http://api.us/application/ )
* * * * * ( sleep 30 ; /usr/bin/wget http://api.us/application/ )
* * * * * ( sleep 40 ; /usr/bin/wget http://api.us/application/ )
* * * * * ( sleep 50 ; /usr/bin/wget http://api.us/application/ )
另一種選擇是使用crontab -e
編輯您的 crontab 並寫入:
* * * * * for i in {1..6}; do /usr/bin/wget http://api.us/application/ & sleep 10; done
*/10 * * * *
將每 10 分鍾運行一次。
*/10 * * * * *
將每 10 秒運行一次。
您可以查看cron 編輯器以獲取更多選項。
您在分鍾內指定了* / 10。 Cron僅允許至少一分鍾。 你可以試試這個-
* * * * * ( sleep 10 ; /usr/bin/wget http://api.us/application/)
它將每隔10秒執行一次睡眠。
改用watch
; 例如:
watch -n10 -x your_command
如果某事應該每 10 秒運行一次,它就不必是 cron 作業。 它可以是一個無限循環的腳本,里面有 sleep 像:
while true
do
# or whatever command you need to run
rm -rf /var/www/some-directory
sleep 10
done
並運行它
nohup bash my-endless-script.sh
它將在后台運行它,如果您關閉終端,它也會繼續運行。
您可以使用 kill 命令終止運行。
在秒字段中使用逗號也可以:
0,10,20,30,40,50 * * * * *
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.