Centos6.5

主機中未觸發的承諾 - cfengine

  • March 11, 2015

我是cfengine 的新手。我創建了一個簡單的 Promise,它在 /etc/test-cfengine 中創建了一個名為 testing 的文件

body common control
{
bundlesequence =>{"create_test_file"};
}


bundle agent create_test_file
{
   files:
           "/etc/test-cfengine/test-file"

           edit_line => addline,
           create => "true";
}

bundle edit_line addline
{
   insert_lines: "Cfengine is running nicely.";
}

當我執行 cf-agent -K(在編輯 promises.cf 並包含 promise 之後)時,我注意到 /etc/test-cfengine 中存在測試文件。但是當我去客戶端時,我注意到承諾存在,但測試文件不存在。

因此,承諾正在傳播給客戶,但不會觸發。

如何確定該文件存在於所有客戶端中?

調試問題需要更多資訊,因此您可以按給定順序檢查以下內容:

  • 在集線器方面,您在哪裡編輯promises.cf?正確的位置是 in ,/var/cfengine/masterfiles不是/var/cfengine/inputs文件將很快被覆蓋的位置。
  • 您是否等待 5 分鐘以使策略傳播和執行?(這是兩個獨立的步驟)
  • 在客戶端,檢查/var/cfengine/inputs/promises.cf. /var/cfengine/masterfiles/promises.cf和集線器上的一樣嗎?如果是這樣,則該策略正確傳播。
  • 如果仍然失敗,則 tail /var/log/messages。您是否每 5 分鐘看到一次來自 CFEngine 的消息?
  • 嘗試手動執行策略:cf-agent -KI. 輸出是什麼?現在創建文件了嗎?

引用自:https://serverfault.com/questions/673902