我正在使用模板来生成一个文件。 当服务器上的应用程序启动时,它会重新写入文件 – 内容不会更改,但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理文件的group , owner和mode 。 如果内容没有改变,就像你注意到的那样,那么你需要仔细看看其他属性,因为其中任何一个属性的改变都会触发通知。