一、command
默认模块,可以不指定
作用:在各个远程主机上执行命令,但是不能传递参数和变量
例如:ansible all -m command -a "hostname"和ansible all -a "hostname"的执行结果一样,都是显示本机的主机名。
ansible中常用的模块cron
二、cron
作用:在指定的时间运行指定命令(计划任务)
参数
name:计划任务的名称
minute参数:设置计划任务执行的分钟值(0-59)
hour参数:设置计划任务执行的小时值(0-23)
day参数:设置计划任务执行的日期值(1-31)
month参数:设置计划任务执行的月值(1-12)
weekday参数:设置计划任务执行的周值(0-6或者1-7)
special_time参数:后边可加:reboot(重启后)、yearly(每年)、monthly(每月)、weekly(每周)、daily(每天)、hourly(每小时)
user:设置当前计划任务属于哪个用户,如果不指定,默认为管理员用户。
job:用于指定计划任务中需要实际执行的命令或脚本
stata:设置计划任务的状态,present(添加)、absent(移除)。
disabled:当计划任务执行时,可以注释掉对应的任务。
backup:在修改或者删除计划任务的时,会对计划任务备份,然后进行更改或者删除。cron模块会在远程主机的/tmp/下创建备份文件。

1、例如:添加一个计划任务job1,每2分钟追加‘123’到/tmp/a.txt
#ansible all -m cron -a 'minute="*/2" job="echo 123>>/tmp/a.txt" name="job1" state="present"'
ansible中常用的模块cron
2查看计划任务中的内容
#ansible all -a "crontab -l"
ansible中常用的模块cron
3、计划任务的移除,移除192.168.70.130上刚添加的任务并和192.168.70.132做对比。
#ansible 192.168.70.130 -m cron -a 'name=job1 state="absent"'
#ansible all -a "crontab -l"
ansible中常用的模块cron
4、在192.168.70.132上创建计划任务,任务名称为“special time test”,任务将在重启时执行,任务的内容为追加test到a.txt。
#ansible 192.168.70.132 -m cron -a " name='special time test' special_time=reboot job='echo test>>a.txt'"
重启192.168.70.132
#ansible 192.168.70.132 -a "init 6"
ansible中常用的模块cron
等待192.168.70.132重启后可以看到a.txt中的test
#cat a.txt
ansible中常用的模块cron
5、删除192.168.70.132上的special time test任务,删除任务的同时对任务进行备份。
#ansible 192.168.70.132 -m cron -a " name='special time test' state=absent backup=yes"
#ansible 192.168.70.132 -a "crontab -l"
ansible中常用的模块cron
6、cron中的备份文件存放在客户端/tmp/目录下面,查看192.168.70.132上的备份文件。
ansible中常用的模块cron
ansible中常用的模块cron
使用disabled参数注释任务,在注释任务时,所有设定需要跟原设定保持一致,否则计划任务的设置将会发生改变。使用disabled命令注释时,最好与backup参数同时使用。
7、例:将job1任务注释掉,需要使用如下命令。
#ansible 192.168.70.132 -m cron -a 'minute="*/2" job="echo 123>>/tmp/a.txt" name="job1" state="present" disabled=yes backup=yes '
ansible中常用的模块cron
此时看到任务jbo1已经被注释。
博主小白,欢迎各位指出不足和改进意见,感谢观看。

活着就意味必须要做点什么,请好好努力!