ansible

ansible 常用操作

cron

Ansible cron模块主要用于添加、删除、更新操作系统的crontab任务计划

cron模块使用详解:

name:任务计划名称
cron_file:替换客户端该用户的任务计划的文件
minute:分(0-59, * ,*/2)
hour:时(0-23, * ,*/2)
day:日(1-31, * ,*/2)
month:月(1-12, * , */2)
weekday:周(0-6或1-7, *)
job:任何计划执行的命令,state要等于present
backup:是否备份之前的任务计划
user:新建任务计划的用户
state:指定任务计划present、absent

创建计划任务

在 ansible-demo3 主机上创建计划任务,任务名称为”crontab test”,任务于每天1点5分执行,任务内容为输出test字符。

ansible ansible-demo3 -m cron -a " name='crontab test' minute=5 hour=1 job='echo test' "

修改定时任务

操作同名的任务时,ansible 将会认为是修改原来的任务,启用了 backup,所以任务在修改前会被备份

ansible ansible-demo3 -m cron -a " name='crontab test'  minute=5 hour=2 job='echo test1' backup=yes"

删除计划任务

ansible ansible-demo3 -m cron -a " name='crontab test' state=absent backup=yes "

任务注释掉

ansible ansible-demo3 -m cron -a " name='crontab test'  job='echo test1' disabled=yes  backup=yes"

copy

ansible test -m copy -a "src=test.sh dest=/root dest=/tmp backup=yes  owner=liuhao group=liuhao mode=0644"

file

ansible ansible-demo3 -m file -a "path=/testdir/testfile1 state=touch owner=liuhao group=liuhao"

ansible ansible-demo3 -m file -a "path=/testdir/testdir state=directory owner=liuhao group=liuhao"

删除远程机器上的指定文件或目录。

ansible ansible-demo3 -m file -a "path=/testdir/testdir state=absent"

fetch

复制远程文件到本地

ansible all -m fetch -a "src=/tmp/log/* dest=/tmp/"

service

重启应用

ansible 10.1.1.113 -m service -a 'name=puppet state=restarted enabled=yes'

yum

安装tree

ansible all -m yum -a "state=present name=tree"

安装本地rpm包

ansible all -m yum  -a 'name=/root/jdk-7u71-linux-x64.rpm state=installed'

执行本地shell脚本

ansible all -m script -a ‘./test.sh’