Chef

即使內容沒有改變,廚師模板也會重寫文件

  • May 25, 2015

我正在使用模板生成文件。當伺服器上的應用程序啟動時,它會重新寫入文件 - 內容不會更改,但 Chef 認為它已更改,並且在下次執行期間它也會重新寫入文件。在日誌中它說no difftemplate處理期間然後觸發通知器。

我該怎麼做才能讓 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 個字節。

模板資源不僅管理文件的內容,還管理文件的groupownermode。如果內容沒有改變,正如您所注意到的,那麼您將需要仔細查看其他屬性,因為其中任何一個屬性的更改仍會觸發通知。

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