2015-01-19 4 views
7

데이터 마이닝을 위해 동시에 여러 서버에 cronjob을 설치하려고합니다. 나는 또한 이미 Ansible and crontabs의 단계를 따르고 있었지만 지금까지 아무 것도 작용하지 않았습니다. 내가 가진working cronjobs를 만들 수 있습니다.

ERROR: cron is not a legal parameter at this level in an Ansible Playbook 

: 내가 무엇을 할 , 나는 오류 메시지 얻을 이 /usr/lib/python2.6/site-packages/ansible/modules/

내가 좋아하는 것 : Ansible를

그리고 알 수없는 이유로, 내 모듈에있는 1.8.1 Anterior가 crontab 파일에 새 cronjob을 설치하도록하기 위해 따라야하는 정확한 단계를 알아야합니다.

  1. cronjob을 설치하려면 게임 북을 얼마나 정확하게 표시해야합니까?
  2. 이 게임 플레이 북을 시작하기위한 명령 줄은 무엇입니까?

크론의 문서가 충분하지 않아 예제가 작동하지 않기 때문에 나는 이상한 질문을하고 있습니다. 어쩌면 내 설치가 잘못되었으므로 cron의 작동 예제를 사용하여 테스트하고 싶을 수도 있습니다. 내가있어

+0

시도 할 플레이 북을 나열하면 답변 드리겠습니다. – tedder42

답변

16

./roles/cron/tasks/main.yml 파일 (매우 같은)이 :

- name: Creates weekly backup cronjob 
    cron: minute="20" hour="5" weekday="sun" 
     name="Backup mysql tables (weekly schedule)" 
     cron_file="mysqlbackup-WeeklyBackups" 
     user="root" 
     job="/usr/local/bin/mysqlbackup.WeeklyBackups.sh" 
    tags: 
    - mysql 
    - cronjobs 

'작업'에 나열된 쉘 스크립트를 조금 작성 main.yml 파일의 앞 부분에 있습니다.

#Ansible: Backup mysql tables (weekly schedule) 
20 5 * * sun root /usr/local/bin/mysqlbackup.WeeklyBackups.sh 
+0

이것은 파일을 생성하거나 파일을 실행하도록 설정합니까? 나는 내 작전에서 같은 일을 시도했다. 파일이 언급 된 장소에서 생성되었습니다. 하지만'crontab -l'을 실행할 때'no crontab for user' 메시지가 나타납니다. – Ishan

+2

'crontabs -l'은 '/ var/spool/cron/crontabs/{username}'만 찾습니다. –

1

당신이 사용자의 crontab 명령에 실행되도록 설정하는 경우 :

- name: Install Batchjobs on crontab 
    cron: 
    name: "Manage Disk Space" 
    minute: "30" 
    hour: "02" 
    weekday: "0-6" 
    job: "home/export/manageDiskSpace.sh > home/export/manageDiskSpace.sh.log 2>&1" 
    #user: "admin" 
    disabled: "no" 
    become_user: "{{ admin_user }}" 
    tags: 
    - cronjobs 

이 작업은 /etc/cron.d/mysqlbackup-WeeklyBackups에서 파일을 생성합니다

참조 [1] : https://docs.ansible.com/ansible/latest/cron_module.html

관련 문제