답변:
통지하는 대안은 subscribe입니다.
file { "/etc/sshd_config":
source => "....",
}
service { sshd:
ensure => running,
subscribe => File["/etc/sshd_config"],
}
차이점은 관계가 다른 쪽 끝에서 설명된다는 것입니다. 예를 들어, apache가 /etc/apache/httpd.conf를 구독하도록 만들 수 있지만, 아파치 클래스가 가지고있는 모든 호스트에 대해 아는 것은 아니므로 vhost 파일이 아파치를 알릴 수 있습니다.
유사한 이중 종단 상황이 요구 및 이전에 적용됩니다. 특정 상황에서 더 의미가있는 문제 일뿐입니다.
Chad가 언급했듯이 꼭두각시가 지속적으로 서비스를 시작하려고하면 프로세스 매개 변수에 적용 할 정규 표현식 인 패턴 매개 변수를 추가해야합니다. 기본적으로 퍼펫은 서비스를 중지하고 다시 시작합니다. "hasrestart => true"를 추가하면 "restart"매개 변수에 지정된 명령을 사용하여 서비스를 다시 시작합니다.
내가 찾은 것 같습니다.
file { "/etc/sshd_config":
source => "....",
notify => Service[sshd]
}
service { sshd:
ensure => running
}
우리는 그것이 어떻게 작동하는지 볼 것입니다. 어쨌든 주제에 대한 당신의 생각은 환영합니다.
(이것은 매우 오래된 질문이라는 것을 알고 있지만 (내 의견으로는) 훨씬 쉬운 방법으로 내 2 센트에 넣을 것이라고 생각했습니다)
화살표 표기법도 자유롭게 사용하십시오.
file { "/etc/sshd_config":
source => "....",
} ~>
service { sshd:
ensure => running
}
또는
File['/etc/sshd_config'] ~> Service['sshd']
이에 상응하는 여러 표기법이 있습니다.
알림 :
file { '/etc/sshd_config':
notify => Service[sshd],
}
service { sshd:
ensure => running
}
구독 :
file { '/etc/sshd_config':
...
}
service { sshd:
ensure => running,
subscribe => File['/etc/sshd_config'],
}
화살표 표기법 :
File['/etc/sshd_config'] ~> Service['sshd']
연쇄 선언
file { '/etc/sshd_config':
...
}
~> service { sshd:
ensure => running,
}
reload
대신에 트리거하려면 restart
서비스 선언을 조정하십시오.
service { sshd:
ensure => running,
restart => 'pkill -HUP sshd', # if service support such reload
}