SaltStack - 使用 Cron 與 Salt



Salt 可以與Cron應用程式一起使用。將這兩個應用程式結合使用,為 Salt 自動化提供了極好的機會。雖然 Salt 提供了遠端執行命令的選項,但 Cron 使其能夠以預定的或自動的方式執行。在本章中,讓我們學習如何將 Cron 和 Salt 結合使用。

什麼是 Cron?

Cron 是 Linux 環境中非常有用的應用程式。它使您可以預設命令或指令碼在特定的日期和時間執行。它還使您能夠以固定的間隔執行應用程式,例如每天、每週或每月第一天。

系統啟動時,Cron 會啟動並檢查/etc/crontab檔案以獲取配置詳細資訊。/etc/crontab 中的每一行都包含一個應用程式及其計劃,如下所示。

15 * * * * root echo "This command runs at 15 minutes past every hour"
15 10 * * * root echo "This command is run daily at 10:15 am"

每一行都有以下七個入口點,它們以空格分隔,如下所示:

  • 分鐘 - 小時內分鐘,介於“0”和“59”之間。

  • 小時 - 小時,以 24 小時制指定。

  • 每月日期 - 月份中的日期,介於 1 和 31 之間。例如,每月的 10 日為 10。

  • 月份 - 指定的月份,以數字 (0-12) 或月份名稱 (例如 May) 指定。

  • 每週日期 - 星期幾,以數字 (0-7) 或星期幾名稱 (例如 Sun) 指定。

  • 使用者 - 命令在其下執行的使用者帳戶。

  • cmd - 實際命令及其引數。

此處,* 替換為未分配任何內容的情況。

Salt Caller (salt-call)

Salt 提供了一個 CLI(命令列介面),salt-call,用於在本地 minion 系統本身而不是從主伺服器使用 salt 命令執行模組。salt call CLI 支援 salt 命令支援的所有選項,但本地執行。

Salt Caller 最初設計用於支援除錯,但現在可以用作獨立應用程式。

salt-call test.ping

在 cron 中使用 salt-call

salt-call CLI 可用於使用 Cron 計劃 salt 操作。例如,要每天午夜檢查 minion 的狀態,我們可以使用 salt-call 以及選項 – state.apply,如下所示。

/etc/crontab

PATH = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin
0 0 * * * salt-call state.apply

這裡,

  • state.apply 函式將檢查 minion 的 salt 配置檔案,並檢查為 minion 定義的所有操作是否已正確配置。

  • 設定路徑是一種良好的實踐,因為有時 salt 命令可能在系統路徑中不可用。

在下一章中,我們將學習遠端執行,這是 Salt 的核心概念。

廣告

© . All rights reserved.