应用
管理远程主机中的计划任务
参数
- name:指定任务名称,可以根据任务名称修改或删除对应的任务;搭配state使用
- state:absent表示删除对应的任务
- minute:指定分钟,minute=1|1,2,3|/1|;默认是
- hour:指定小时
- day:指定日
- month:指定月
- weekday:指定周几
- special_time:reboot|yearly|monthly|weekly|daily|hourly,都未指定时表示每分钟执行
- user:指定计划任务属于哪个用户,默认管理员用户
- disabled:注释计划任务,使其失效;但是一定要写全原任务的name,minute,hour,month,weekday,job,如果不一样,则是修改原计划任务内容
- backup:backup=yes表示修改或删除对应计划任务时,会先进行备份,备份路径/tmp/crontab+随机字符
示例
- 添加一条计划任务,任务名称"bak cron",任务于每周六、周日的凌晨1:10分执行,任务内容将/tmp/test.tar.xz解压到/opt目录下
]# ansible all –m cron –a 'name="bak cron" minute=10 hour=1 job="tar -Jxf /tmp/test.tar.xz -C /opt" &>/opt/bak_cron.log'
- 添加一条计划任务,任务名称start ngx,任务将在重启时执行,任务内容是重启nginx(路径:/opt/nginx/sbin/nginx)
]# ansible all -m cron -a 'name="start ngx" special_time=reboot job="/opt/nginx/sbin/nginx"'
- 将计划任务start ngx删除,并将原计划任务备份
]# ansible all -m cron -a 'name="start ngx" state=absent backup=yes'
- 将计划任务"bak cron"注释,同时将原任务执行时间修改为每周一的03:00,原任务内容修改为echo test,并对计划任务备份
]# ansible all -m cron -a 'name="bak cron" minute=0 hour=3 job="echo test" disabled=yes backup=yes'