1. 程式人生 > >ubuntu Docker 環境下設定crontab

ubuntu Docker 環境下設定crontab

設定crontab 第一個問題就是時區不對的問題,預設系統時區為UTC,時間不同步,設定定時任務時會有偏差。因此,先更改時區

解決辦法:在Dockerfile中加入即可
RUN echo”Asia/Shanghai” > /etc/timezone
RUN dpkg-reconfigure -f noninteractive tzdata

容器啟動之後,設定了crontab,結果一直不生效,後發現crontab 服務沒有啟動,於是網上各種搜尋,發現瞭如下命令

ubuntu下定時執行工具cron開啟關閉重啟
配置檔案一般為/etc/init.d/cron

啟動:sudo /etc/init.d
/cron start 關閉:sudo /etc/init.d/cron stop 重啟:sudo /etc/init.d/cron restart 重新載入配置:sudo /etc/init.d/cron reload

執行遇到了問題

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the
start(8) utility, e.g. start cron

嘗試了提到的命令start cron /status cron,均報錯。後搜尋發現啟動其實非常簡單直接執行cron即可!

參考連結:https://stackoverflow.com/questions/41264090/how-to-solve-rather-than-invoking-init-scripts-on-ubuntu-14