GlareVPN使用日本在地伺服器‧日本本地IP位址,述不能訪問日本國內網站的情形將通通消失。  PS Blog 2021年度遊戲:得獎名單   殺怪Roguelike遊戲《Curse of the Dead Gods》明天上市:7個遊戲提示不可不知   Switch冬季新作情報大公開!任天堂發表會「Nintendo Direct 2021.9.24」懶人包   《Destruction AllStars》下一波精彩內容: 指定賽事、挑戰系列賽等更新   Let’s Rock!KOF ALLSTAR x GUILTY GEAR Xrd REV 2合作活動   波導的勇者!「玩偶 等身大路卡利歐」即日起在日本寶可夢線上中心接受預購中!   PlayStation® Partner Awards 2021日本及亞洲地區得獎者名單將自12月2日起接連兩天公布!   侍魂初代 Boss 終於參戰!「天草四郎時貞」確定於 侍魂 曉 登場! 

Docker 的 Crontab 設定作法

商業

Docker 核心概念是 Microservice,所以應該盡量不要進去機器做 Cron 的設定,要再外部控制 Cron 的執行才是。

Crontab 主要是希望在環境裡面跑那隻程式,所以只要由外部呼叫程式執行,程式都在 Docker 的環境裡面跑,並不是外部的環境,就不會有任何影響。

所以從 Docker 教學第一行 Hello 就有示範怎麼玩了~

  • docker exec CONTAINER-NAME exec-script-name
  • docker exec -t CONTAINER-NAME exec-script-name
  • 註:若遇到 Bash 要多個命令使用 ; 分別執行的,可以使用 bash -c 的命令

Docker 的 Crontab 設定作法

以下前面有一堆 * 的,都是在外部環境使用 crontab -e 後,寫在裡面的語法。

官方建議的寫法

  • 官方說明文件:docker exec | Docker Documentation
    • * * * * * docker exec -t {containerID} {command} >> /dev/null 2>&1
    • 範例: * * * * * docker exec -t $(docker ps -qf "name=dockerphp1") php artisan schedule:run >> /dev/null 2>&1
    • 更多範例:
      • docker exec -t mycontainer sh -c "echo a && echo b"
      • docker exec -u user-account mycontainer rsync -av hostname:/tmp/filename /tmp/.

相關的範例寫法

  • */2 * * * * docker exec CONTAINER-NAME ls
  • */2 * * * * docker exec CONTAINER-NAME bash -c "cd /tmp;ls"
  • 0 2 * * * * docker exec CONTAINER-NAME certbot renew
  • */2 * * * * /usr/bin/docker exec CONTAINER-NAME /home/user/bin/test.php
    • cat /home/user/bin/test.php
      #!/usr/bin/php
      

相關網頁

Tsung

隨機商業新聞

PureVPN