即使内容没有改变,厨师模板也会重写文件

我正在使用模板来生成一个文件。 当服务器上的应用程序启动时,它会重新写入文件 – 内容不会更改,但Chef认为它已更改,并在下次运行时重新写入。 在日志中,它说在template处理过程中no diff ,然后触发通知。

我可以做些什么使厨师比较文件的内容,以便它不通知服务重启没有真正的原因。

debugging日志:

 DEBUG:calculating checksum of file1 to compare with c24f2aa74f9665cb944ab72ed34571367a0de38e10432675d3c5e8610ad9d046 DEBUG: running: diff -u file1 file2 

因此,即使diff(在厨师中)返回(无差异),校验和也不相等。 然后我试图在terminal结果中运行diff -u file1 file2\在文件末尾没有换行符

所以文件大小的差异是1个字节。

模板资源不仅pipe理内容,还pipe理文件的groupownermode 。 如果内容没有改变,就像你注意到的那样,那么你需要仔细看看其他属性,因为其中任何一个属性的改变都会触发通知。