Если можно войти в сервер, проверьте/var/log/secure (базирующийся Red Hat) или /var/log/access.log (я думаю) на базирующемся Debian, который должен сказать Вам проблему.
Если Вы не можете войти в сервер, это - Ваша первоочередная задача.
Я не думаю, что это возможно, puppet вычисляет md5 файла для проверки изменений файла. Можно ли записать время начала в другой файл?
Мое решение похоже на решение Zoredache, но немного отличается в том смысле, что вам не нужен интеллектуальный сценарий для сравнения.
Допустим, ваш файл конфигурации - / etc / my_application.conf
, и он выглядит так:
start_time=<some value set by application on start-up>
option1=VALUE
...
В марионетке добавьте файл в files / для вашего файла конфигурации, который выглядит так:
start_time=DummyValue
option1=VALUE
...
Затем используйте манифест, который развертывает файл в альтернативном месте, и если изменения существуют, запускает копию, которая затем запускает службу, например:
file { '/etc/my_application.staging.conf':
ensure => present,
source => 'puppet:///modules/my_application/my_application.conf',
owner => ...
notify => Exec['install-my_application.conf'],
}
exec { 'install-my_application.conf':
refreshonly => true,
command => '/bin/cp /etc/my_application.staging.conf /etc/my_application.conf',
notify => Service['my_application'],
}
service { 'my_application':
...
}
Это позволяет вам перезапускаться при новых изменениях конфигурации, но не будет перезапускать службу, если my_application.conf изменен локально. Это не идеальное решение, потому что оно не избавляет вас от локальных изменений,