2016-09-07 2 views
0

저는 Ansible에 처음 왔으며, 7 일 동안 플레이 북 파일을 실행해야하고 8 일째 다른 플레이 북 파일을 실행해야합니다. 어떻게하면 책임자를 사용하여 설정할 수 있습니까? 모듈에서 시도했지만 적용 할 수 없습니다. 요구 사항에 따라 조건을 어떻게 설정할 수 있습니까?특정 날짜에 플레이 북 파일을 실행하십시오.

나는 Ansible을 사용하여 샘플 작업을 만들었습니다. 매일 하루에 한 번씩 최대 7 일간 일해야하므로 하루에 한 번 24 시간을 지정하고 01-07로 낮 필드를 지정합니다. 내가 crontab -l를 사용하여 보았다 생성 오류 및 작업없이이 코드를 실행 할 수 있어요

- - cron: 
     name: "play mail" 
     hour: "24" 
     day: "01-07" 
     job: "sh script.sh" 

: 여기 내 코드입니다. 그러나 단 한 번만 실행됩니다. 7 일 24 시간마다가 아닙니다. 내 요구 사항에 따라 올바른지 여부

+0

특정 요일에만 플레이 북을 실행하려고합니까, 아니면 특정 날짜에만 명령을 실행하도록 cron을 구성하기 위해 Ansible을 사용하려고합니까? 그리고 확실히, 당신은 달의 1 일에서 7 일까지 언급하고있는 것입니다, 맞습니까? –

+0

예 작업 파일을 7 일 동안 만 실행해야합니다. 예를 들어 무언가와 같은 내 플레이 북 파일 myplayfile.yml을 스크립트에 추가하고 지정된 일 동안 작업에서 실행해야합니다. 다음 8 일째 나는 실행해야합니다. 다른 작업 파일. – Doefi

답변

0

나는 당신의 필요를 이해하지 못합니다.

x 일 동안 제어 컴퓨터에서 게임 플레이 북을 시작해야한다면 Cron 모듈이 필요하다고 생각하지 않습니다. 7 일 동안 예정된 제어 기계에 crontab -e으로 crontab 항목을 만들고 8 일에 두 번째 항목을 작성하십시오. 당신의 플레이 북은 대상 호스트에의 crontab 항목을 관리해야하는 경우 매우 유용합니다 당신은 http://www.cronsandbox.com/

Ansible 크론 모듈을 테스트하여 타이밍을 구체화 할 수 있습니다

# Every day at midnight 
0 0 * * * /usr/bin/ansible-playbook -i inventory playbook1_7.yml 

# Every 8 days 
0 0 */8 * * /usr/bin/ansible-playbook -i inventory playbook8.yml 

: 제어 시스템에 의 crontab 항목은 같은 것을 실행 제어 컴퓨터에서 원격 호스트의 crontab 항목을 작성, 업데이트, 제거 또는 확인하기 위해 편집장을 실행합니다. 물론 localhost에서도 게임을 실행할 수 있습니다.

In an cron cron 모듈에서 "days"는 "달의 날짜"를 의미합니다. 그래서 01-07은 1 개월에서 7 개월 사이에 일자리를 예약해야합니다.

+0

안녕하세요. Lenti ...하지만 자정에 매일 언급합니까? 여기에도 나는 매일 메일을 보내야하지만 경고 메일처럼 7 일 동안 혼자 보내야합니다. 어떻게 7 일 혼자서 메일을 보내는 것에 대해 언급 할 수 있습니까? – Doefi

+0

예 : 0 0 9-15 9 * 9 월 9 일부터 15 일까지 cron job을 계획합니다. (하지만 매년 2016 년에 필요하다면 2017 년 9 월 이전에 cron 항목을 제거하거나 테스트와 " 0 0 9-15 9 * 시험 $ (날짜 + \ % Y) - 예 2016 && scriptSendingMail.sh "). 이전 예에서 1-7은 1 일부터 7 일까지 일정을 잡습니다. crontab에 대한 인터넷의 예가 많이 있습니다. https://www.pantz.org/software/cron/croninfo.html을 참조하고 http://www.cronsandbox.com에서 온라인으로 일정을 확인하십시오. – gile

관련 문제