我想在数据挖掘的同时在各种服务器上设置cronjobs。我也已经按照Ansible and crontabs中的步骤进行了操作,但到目前为止还没有任何效果。 无论我做什么,我都会收到错误信息:
ERROR: cron is not a legal parameter at this level in an Ansible Playbook
我有:Ansible 1.8.1
由于某些未知原因,我的模块位于:
/usr/lib/python2.6/site-packages/ansible/modules/
我想知道我必须遵循哪些准确的步骤让Ansible在crontab文件中安装新的cronjob。
我问这个奇怪的问题,因为cron的文档不足,而且示例不起作用。也许我的安装也是错的,我想用cron的一个工作示例来测试。
答案 0 :(得分:17)
我在./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
'工作'中列出的shell脚本是在main.yml文件中稍早创建的。
此任务将在/etc/cron.d/mysqlbackup-WeeklyBackups中创建一个文件:
#Ansible: Backup mysql tables (weekly schedule)
20 5 * * sun root /usr/local/bin/mysqlbackup.WeeklyBackups.sh
答案 1 :(得分:2)
如果您要将其设置为在用户的Cron选项卡上运行:
- 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
答案 2 :(得分:2)
---
- hosts: servers
tasks:
- name: "Cronjob Entry"
cron:
name: "### recording mixing/compressing/ftping scripts"
minute: 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57
hour: "*"
day: "*"
month: "*"
weekday: "*"
job: /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl
我也低于输出。
#Ansible: ### recording mixing/compressing/ftping scripts
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl