2015-01-19 4 views
7

Я хочу настроить cronjobs на разных серверах одновременно для Data Mining. Я тоже уже делал шаги в Ansible and crontabs, но пока ничего не получилось. Что бы я сделать, я получаю сообщение об ошибке:ansible создание рабочих cronjobs

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

У меня есть: анзибль 1.8.1

И по неизвестным причинам, мои модули расположены в: /usr/lib/python2.6/site-packages/ansible/modules/

Я хотел бы чтобы узнать, какие именно шаги я должен выполнить, чтобы Ansible установил новый cronjob в файле crontab.

  1. Как точно должна выглядеть книжка для установки кроны?
  2. Что такое командная строка для запуска этой пьесы?

Я задаю этот странный вопрос, потому что документация cron недостаточна и примеры не работают. Возможно, моя установка тоже неправильная, которую я хочу проверить с помощью рабочего примера 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.

Эта задача будет создать файл в /etc/cron.d/mysqlbackup-WeeklyBackups:

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

Это просто создает файл или также устанавливает его для его выполнения? Я пробовал делать то же самое в своей тетради. Файл был создан в указанном месте. Но когда я выполняю 'crontab -l', я получаю сообщение' no crontab для пользователя' – 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 

Ссылка [1]: https://docs.ansible.com/ansible/latest/cron_module.html

Смежные вопросы