2014-10-16 3 views

답변

27

run_once 옵션은 게임 플레이/작업이 실행될 때마다 실행되지만 특정 실행 중에 만 실행됩니다. 따라서 연극을 실행할 때마다 목록에있는 첫 번째 호스트에서만 재생이 실행됩니다. 한 번만 명령을 실행하는 방법을 찾고있는 경우에는 creates 인수를 사용해야합니다. 예제를 사용하면 다음을 사용하여이 작업을 수행 할 수 있습니다. -

- name: apt update 
    shell: apt-get update && touch /root/.aptupdated 
    args: 
    creates: /root/.aptupdated 

이 경우 /root/.aptupdated 파일이 만들어집니다. 작업은 현재 존재하는지 확인하고 실행하면 실행되지 않습니다.

실행하려는 작업이 apt-get 업데이트 인 경우 관련 apt 모듈을 사용할 수 있습니다. 그러면 다음과 같이 할 수 있습니다. -

- name: apt update 
    apt: update_cache=yes cache_valid_time=86400 

이제 캐시가 하루보다 오래된 경우에만 실행됩니다.

+1

예 - 'apt'의 경우 apt 모듈을 사용하십시오. 'shell'과'command'는 훌륭하지만 사용상의 한계가 훨씬 더 커야합니다. – tedder42