一、安装
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install ansible
二、基本使用
copy模块:
目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上
命令:ansible all -m copy -a 'src=/root/a.sh dest=/tmp/'
file模块:
目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root
命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"
cron模块:
目的:在指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间
命令:ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'
group模块:
目的:在所有节点上创建一个组名为nolinux,gid为2014的组
命令:ansible all -m group -a 'gid=2014 name=nolinux'
user模块:
目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户
命令:ansible all -m user -a 'name=nolinux groups=nolinux state=present'
yum模块:
目的:在指定节点上安装 lrzsz 服务
命令:ansible all -m yum -a "state=present name=httpd"
service模块:
目的:启动指定节点上的 puppet 服务,并让其开机自启动
命令:ansible all -m service -a 'name=puppet state=restarted enabled=yes'
script模块:
目的:在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)
命令:ansible all -m script -a '/root/a.sh'
ping模块:
目的:检查指定节点机器是否还能连通
命令:ansible all -m ping
command模块:
目的:在指定节点上运行hostname命令
命令:ansible all -m command -a 'hostname'
raw模块:
目的:在all节点上运行hostname命令
命令:ansible all -m raw-a 'hostname|tee'
get_url模块:
目的:将http://10.1.1.116/favicon.ico文件下载到指定节点的/tmp目录下
命令:ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'