Centos6.5
主機中未觸發的承諾 - cfengine
我是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
. 輸出是什麼?現在創建文件了嗎?