docker下計劃任務crontab的使用方法

今天聊下在docker怎麼合理的使用crontab 。 

一直沒有注意在docker如何使用crontab計劃任務,我曾經已經不能用,所以用的是dockerfile定義的啓動腳本,裏面含有一個while的循環邏輯。 

Docker crontab的使用 , http://xiaorui.cc/?p=1875

下面是一個簡單的Dockerfile文件

在啓動的腳本里面實現crontab的邏輯。  

但是如果你的crontab多的話,就不好處理了,你要寫不同的sleep sec ?   這個適用於比較少的計劃任務,很是隨意。 


後來因爲我這開發了一個關於業務數據預警的服務,我在服務裏面加入了crontab的邏輯。  這裏用的是python下的crontab模塊。

config.ini 的配置信息是這樣的,跟系統的crontab格式是一樣的。  執行的時候,一個任務一個線程,不會因爲某個任務堵塞超時,造成其他的任務不能準時的執行。  

後來在StackOverflow看到有人說,docker下是支持crontab的。   特麼的…….

編輯可用的crontab文件。 

vim crontab

*/1 * * * * root echo “Hello world” >> /var/log/cron.log 2>&1
*/1 * * * * root echo $(date) >> /var/log/cron.log 2>&1
*/1 * * * * root echo “1111″ >> /var/log/cron.log 2>&1
*/1 * * * * root echo $(date +\%T) >> /var/log/cron.log 2>&1

構建含有crontab的docker image鏡像。 

sudo docker build –rm -t xiaorui.cc/docker-crontab .

啓動這個容器。

sudo docker run -t -i xiaorui.cc/docker-crontab

過兩分鐘我們會看到,容器輸出的日誌.  

Hello world

Hello world

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章