Назад | Перейти на главную страницу

Шаблон Chef перезаписывает файл, даже если его содержимое не изменилось

я использую шаблон для создания файла. Когда приложение на сервере запускается, оно перезаписывает файл - содержимое не меняется, но Chef считает его измененным и при следующем запуске также перезаписывает его. В журнале написано no diff в течение template обработка, а затем запускает уведомители.

Что я могу сделать, чтобы Chef сравнивал файлы по содержимому и не уведомлял службы о перезапуске без реальной причины.

Журнал отладки:

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

Таким образом, контрольные суммы не равны, хотя diff (в chef) возвращает (без разницы). Затем я попытался бежать diff -u file1 file2 в конечном результате: \ Нет новой строки в конце файла

Таким образом, разница в размере файлов составляет 1 байт.

Ресурсы шаблона управляют не только содержимым, но и group, owner, и mode файла. Если содержимое не меняется, как вы заметили, вам нужно внимательно изучить эти другие атрибуты, потому что изменение любого из них по-прежнему будет вызывать уведомления.