레시피에 두 개의 리소스가 있습니다. 첫 번째는 사용자 uid/gid/home 디렉토리 등을 설정하는 user
리소스이며 supports :manage_home => true
을 사용합니다.요리법 - 사용자 리소스가 manage_home 인 경우에만 리소스를 실행하는 방법
내 두 번째 리소스는 bash
리소스입니다. 현재 스크립트는 약간의 불필요한 모든 요리사 - 클라이언트 실행에서 실행됩니다. 사용자 리소스를 실행할 때 manage_home
이 호출 된 경우에만 스크립트를 실행하고 싶습니다. 예를 들어 사용자의 홈 디렉토리가 변경되고 파일이 이동 된 경우 스크립트를 실행합니다. 그렇지 않으면 아무것도 수행하지 않습니다.
순수 루비 조건 (예 : 특정 파일이있는 경우, 노드에 실행 목록에 특정 요소가있는 경우 등)을 사용하여 only_if
을 사용하는 예제를 찾을 수 있었지만 수행하고 싶은 작업 조건은 다른 요리사 자원의 결과와 연결되어야합니다. 나는 사용자 리소스가 usermod
(또는 useradd
)으로 실행된다는 것을 알고 있는데, 이는 홈 디렉토리가 이동되었는지 여부를 알려주지 않는 것으로 보인다. 그래서 이것도 가능합니까?
실행 전후에 차이점을 확인할 수 있습니까? 'node [: blah] = \'ls -la/home/blah \'와 같은 노드에 명령의 값을 할당 할 수 있습니다. http://stackoverflow.com/questions/16309808/how-cani-i- 쉐프가 실행되는 리소스 넣기 –
도움을 주셔서 감사합니다! – tytk