1. cron模块

功能:管理被控端计划任务;

主要参数如下:

参数 说明
name 定时任务基本描述
job 定时任务要执行的命令
minute
hour 小时
day
month
weekday 周,0-6
disabled yes:禁用计划任务,no:启用计划任务
absent:删除计划任务
  • 示例一:创建计划任务,每10分钟执行一次同步时间,将此计划任务命名为synctime

    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" job="ntpdate 192.168.20.1 &> /dev/null" minute=*/10'
    
    [root@nginx03 ~]# crontab -l
    #Ansible: synctime
    */10 * * * * ntpdate 192.168.20.1 &> /dev/null
    
  • 示例二:添加定时任务, 每天的凌晨2点和凌晨5点执行一次ls

    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" job="ls &> /dev/null" minute=0 hour=2,5'
    
    [root@nginx03 ~]# crontab -l
    #Ansible: synctime
    */10 * * * * ntpdate 192.168.20.1 &> /dev/null
    #Ansible: ls
    0 2,5 * * * ls &> /dev/null
    
  • 示例三:禁用上面示例的计划任务:

    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" job="ls &> /dev/null" minute=0 hour=2,5 disabled=yes'
    
    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" job="ntpdate 192.168.20.1 &> /dev/null" minute=*/10 disabled=yes'
    
    #被控主机被注释掉了
    [root@nginx03 ~]# crontab -l
    #Ansible: synctime
    #*/10 * * * * ntpdate 192.168.20.1 &> /dev/null
    #Ansible: ls
    #0 2,5 * * * ls &> /dev/null
    
  • 示例四:删除上述的计划任务:

    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" state=absent'
    
    [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" state=absent'