2012-03-30 4 views
4

다음은 나의 설치 방법입니다. 저는 매 60 초마다 요리사 클라이언트를 디버깅 할 수 있습니다.요리사가 erb 템플릿을 변경하지 않을 때 서비스를 다시 시작합니다.

다시 시작하는 경우 요리사가 60 초 동안 기다립니다. 내가 그만하지? 나는 사원을 바꾸면 주방장이 다시 시작할 것이라고 생각했습니다.

[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing package[monit] action install (monit::default line 5) 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action enable (monit::default line 9) 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action start (monit::default line 9) 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing template[monitrc] action create (monit::default line 14) 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: template[monitrc] mode changed to 644 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: template[monitrc] sending restart action to service[monit] (immediate) 
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action restart (monit::default line 9) 
[Fri, 30 Mar 2012 06:12:22 +0000] INFO: service[monit] restarted 
[Fri, 30 Mar 2012 06:12:22 +0000] INFO: Processing template[monitstart] action create (monit::default line 25) 



package "monit" do 
    action :install 
end 

service "monit" do 
    supports :status => true, :restart => true, :start => true,:stop => true 
    action [ :enable, :start ] 
end 

template "monitrc" do 
    path "/etc/monit/monitrc" 
    source "monitrc.erb" 
    owner "root" 
    group "root" 
    mode "0644" 
    #notifies :restart, resources(:service => "monit") 
    #notifies :restart, "service[monit]" 
    notifies :restart, resources(:service => "monit"), :immediate 
end 

template "monitstart" do 
    path "/etc/default/monit" 
    source "monit.erb" 
    owner "root" 
    group "root" 
    mode "0644" 
    notifies :restart, "service[monit]" 
    #notifies :restart, resources(:service => "monit"), :immediate 
end 

답변

5

때마다 MONIT 서비스는 전자는 보안 강화의 아마 일종의을 쓰기 읽을 수 600 때문에 루트 만에 파일 /etc/monit/monitrc 권한을 변경 다시 시작합니다.

하지만 요리법을 실행하면 권한이 644로 변경되어 파일을 600으로 다시 시작하는 서비스가 다시 시작됩니다. 자신의 꼬리를 쫓고있는 개와 같습니다.

간단한 해결책은 재시작을 피하면서 레시피를 변경하여 템플릿에 600을 적용하는 것입니다.

관련 문제