2017-10-09 187 views
0

的標題說明了一切:運行命令在後臺每30秒在CentOS

我如何可以運行在CentOS的無限期的背景每30秒一些命令?那就是:我希望能夠做其他的事情,而其他一些腳本定期調用。

+0

什麼cron作業,如果每一分鐘都是那麼精緻。否則,兩個cron作業,一個在主任務之前有'睡眠30'? – sauerburger

+0

@sauerburger,我在想這件事,但似乎有點麻煩我。有沒有更好的,更規範的方式來做到這一點? – IHaveAQuestion

回答

1

默認情況下,的cron不能安排作業在幾秒鐘內運行。你能做的最多的就是每分鐘運行一次。

1)由單一cron運行它

要由cron運行,每隔30秒,你可以創建一個單一的cron項是這樣的:

* * * * * /bin/bash -l -c "/path/to/script.sh; sleep 30 ; /path/to/script.sh" 

2)使用運行觀看

運行使用腳本手錶((你可以啓動它的屏幕或TMUX),甚至在背景中)

watch --interval 30 /path/to/script.sh 

3)使用while循環是這樣的:

#!/bin/env bash 
while [ true ]; do 
sleep 30 
/path/to/script.sh 
done 

請記住,因爲這一切都取決於此選項是不會失敗的證明究竟你的cron不和需要多長時間的作業運行由cron完成。通過上面的例子(3),如果cron運行需要25秒,那麼你的腳本將會延遲,等等。同樣適用於選項(1),以及使用其他的cron到默認的Linux的cron

4)(使用fcron

5)類似的問題,已經有人在那麼那麼你可能想看看這個: How to run Cronjobs more often than once per minute?