Docker 外部 Cron 遇到 the input device is not a TTY 解法

現在於 Linux 程式很多都包 Docker,而需要定期跑得程式,可以跑在 Docker 裡面(需要特別做),或者就是在外部 docker exec 執行

但是在 docker exec + crontab 的時候,就會遇到「the input device is not a TTY」 的錯誤,要怎麼解決呢?

閱讀全文〈Docker 外部 Cron 遇到 the input device is not a TTY 解法〉

Docker 的 Crontab 設定作法

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

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

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

  • docker exec CONTAINER-NAME exec-script-name
  • docker exec -t CONTAINER-NAME /full-path/exec-script-name
  • docker exec -t CONTAINER-NAME exec-script-name
  • 註1:若遇到 Bash 要多個命令使用 ; 分別執行的,可以使用 bash -c 的命令
  • 註2:千萬不要 -it,進入 interactive 就會有 tty 的錯誤出現

閱讀全文〈Docker 的 Crontab 設定作法〉

使用 Cron 埋入後門 來執行 DNS 查詢的攻擊模式

現在入侵機器後,攻擊模式越來越多元了,連要做什麼事情的程式(一般至少會寫要去哪抓程式),都不直接寫在裡面了...

閱讀全文〈使用 Cron 埋入後門 來執行 DNS 查詢的攻擊模式〉