Chef
即使內容沒有改變,廚師模板也會重寫文件
我正在使用模板生成文件。當伺服器上的應用程序啟動時,它會重新寫入文件 - 內容不會更改,但 Chef 認為它已更改,並且在下次執行期間它也會重新寫入文件。在日誌中它說
no diff
在template
處理期間然後觸發通知器。我該怎麼做才能讓 Chef 按內容比較文件,以便它不會在沒有真正原因的情況下通知服務重新啟動。
調試日誌:
DEBUG:calculating checksum of file1 to compare with c24f2aa74f9665cb944ab72ed34571367a0de38e10432675d3c5e8610ad9d046 DEBUG: running: diff -u file1 file2
因此,即使 diff (in chef) 返回**(no diff)** ,校驗和也不相等。然後我嘗試
diff -u file1 file2
在終端結果中執行: \文件末尾沒有換行符所以文件大小的差異是 1 個字節。
模板資源不僅管理文件的內容,還管理文件的
group
、owner
和mode
。如果內容沒有改變,正如您所注意到的,那麼您將需要仔細查看其他屬性,因為其中任何一個屬性的更改仍會觸發通知。