ansible安装测试

来源:互联网 发布:李霖丰淘宝店不做了吗 编辑:程序博客网 时间:2024/06/03 21:34
安装:
# yum install ansible 
# yum install sshpass

配置:
# vi /etc/ansible/hosts 
[mysqldb]
172.16.100.23 ansible_ssh_user=root ansible_ssh_pass=c3root
172.16.100.24 ansible_ssh_user=root ansible_ssh_pass=c3root
172.16.100.25 ansible_ssh_user=root ansible_ssh_pass=c3root
172.16.100.26 ansible_ssh_user=root ansible_ssh_pass=c3root
172.16.100.27 ansible_ssh_user=root ansible_ssh_pass=c3root


测试:
# ansible mysqldb -m ping
# ansible mysqldb -m shell -a 'date'

ansible mysqldb -m user -a 'name=ansible state=present'               ----创建用户ansible

ansible mysqldb -m raw -a 'echo 123456|passwd --stdin ansible'    ----修改密码为123456


===============================================

copy模块:

目的:把主控端/root目录下的'1.txt'文件拷贝到到指定节点上

# ansible mysqldb -m copy -a 'src=~/1.txt dest=/tmp/'




file模块:

目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root

命令:

# ansible mysqldb -m file -a "dest=/tmp/1.txt mode=755 owner=root group=root"



group模块:

目的:在所有节点上创建一个组名为nolinux,gid为2014的组

命令:

ansible mysqldb -m group -a 'gid=2014 name=nolinux'

ansible mysqldb -m group -a 'name=nolinux state=absent remove=yes'


user模块:

目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

命令:

添加用户:

# ansible mysqldb -m user -a 'name=nolinux groups=nolinux state=present'

# ansible mysqldb -a 'id nolinux'

删除用户:

# ansible mysqldb -m user -a 'name=nolinux state=absent remove=yes'

# ansible mysqldb -a 'id nolinux'

------------------------------------------------------------------------

ansible mysqldb -m user -a 'name=ansible state=present'               ----创建用户ansible

ansible mysqldb -m raw -a 'echo 123456|passwd --stdin ansible'    ----修改密码为123456

------------------------------------------------------------------------

yum模块:

目的:在指定节点上安装 lrzsz 服务

命令:

# ansible mysqldb -m yum -a "state=present name=lrzsz"

service模块:

目的:启动指定节点上的 puppet 服务,并让其开机自启动

命令:

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

script模块:

目的:在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)

命令:ansible mysqldb -m script -a '/root/a.sh

raw模块:

    目的:在10.1.1.113节点上运行hostname命令

    命令:ansible 10.1.1.113 -m raw-a 'hostname|tee'

get_url模块:

    目的:将http://10.1.1.116/favicon.ico文件下载到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'


synchronize模块:

    目的:将主控方/root/a目录推送到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'

    执行效果:

delete=yes   使两边的内容一样(即以推送方为主)

compress=yes  开启压缩,默认为开启

--exclude=.git  忽略同步.git结尾的文件


参考:http://my.oschina.net/cislunar/blog/412660










0 0
原创粉丝点击