路径:/sxjteam/ansible/ansible-1.1
rpm -Uvh ansible-1.1-1.el6.noarch.rpm
安装方法2:
sudo easy_install pip
sudo pip install ansible
免密匙登录
$ssh-keygen -t rsa
$ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.25.26
为某与用户生成免密钥登录
ssh-copy-id -i ~/.ssh/id_rsa.pub
/******************************************************************************
从设备:192.168.25.26
python 2.6.6
ansible 环境
/***********************************************************************************
功能0:询问所有连接
ansible all -m ping
功能1:检查从机连通情况
ansible slave -i /etc/ansible/hosts -m ping
功能2:检查本机连通情况
ansible localhost -i /etc/ansible/hosts -m ping
功能3:以普通用户询问所有节点
ansible all -m ping -u luomin
功能4:引用sudo询问所有节点
sudo ansible all -m ping -u luomin
ansible all -m ping -u bruce --sudo --sudo-user batman
比如:
(venv)[root@sxjteam bin]# ansible all -m ping -u luominmini
127.0.0.1 | FAILED => FAILED: Authentication failed.
192.168.25.12 | FAILED => FAILED: Authentication failed.
192.168.25.13 | FAILED => FAILED: Authentication failed.
192.168.25.11 | success >> {
}
功能5:引用模块批量执行
ansible all -a "/bin/echo hello"
ansible all -a "/bin/mkdir hellodb"
功能6:查看功能copy模块帮助
ansible-doc copy
功能7:将服务器端的start.sh 传送到从机的/目录下
(venv)[root@sxjteam /]# ansible all -m copy -a "src=/start.sh dest=/"
127.0.0.1 | FAILED => FAILED: Authentication failed.
192.168.25.26 | success >> {
}
功能8:将从机根目录下的start.sh 权限改为777
(venv)[root@sxjteam /]# ansible slave -m file -a "dest=/start.sh mode=777 owner=root group=root" -s
192.168.25.26 | success >> {
}
功能9:在主机上远程执行从机的start.sh脚本
(venv)[root@sxjteam /]# ansible slave -m script -a "/start.sh"
192.168.25.26 | success >> {
}
或:
ansible webservers -m command -a "/sbin/reboot -t now"
功能10:在主机上操作从机上的shell指令
(venv)[root@sxjteam /]# ansible slave -m shell -a "touch /tmp/test.sh"
192.168.25.26 | success | rc=0 >>
功能11:在从机上创建webgame组
(venv)[root@sxjteam /]# ansible all -m group -a "name=webgame state=present" -s
127.0.0.1 | FAILED => FAILED: Authentication failed.
192.168.25.26 | success >> {
}
功能12:在从机上创建用户,并加入相关组以及创建用户文件路径
(venv)[root@sxjteam /]# ansible all -m user -a "name=luomin group=webgame home=/root/luomin state=present" -s
127.0.0.1 | FAILED => FAILED: Authentication failed.
192.168.25.26 | success >> {
}
功能13:yum远程安装linuxqq
(venv)[root@sxjteam /]# ansible slave -m yum -a "name=linuxqq state=latest" -s
192.168.25.26 | FAILED >> {
}
或:
[luomin@sxjteam /]$ sudo ansible slave -m yum -a "name=httpd state=latest" -s
192.168.25.11 | success >> {
}
192.168.25.12 | success >> {
}
.......
功能14:远程开启从机的httpd服务
(venv)[root@sxjteam /]# ansible slave -m service -a "name=httpd state=running" -s
192.168.25.26 | success >> {
}
功能15:并行5个线程来重启从机
ansible slave -a "/usr/bin/reboot" -f 5
功能16:文件的复制
(venv)[root@sxjteam /]# ansible slave -m copy -a "src=/YUM dest=/"
192.168.25.26 | success >> {
}
功能17:创建目录
(venv)[root@sxjteam /]# ansible slave -m file -a "dest=/newdir mode=600 owner=root group=root state=directory"
192.168.25.26 | success >> {
}
功能18:删除从机下的newdir目录
(venv)[root@sxjteam /]# ansible slave -m file -a "dest=/newdir state=absent"
192.168.25.26 | success >> {
}
功能19:创建用户ans,密码123456
(venv)[root@sxjteam /]# ansible slave -m user -a "name=ans password=123456"
192.168.25.26 | success >> {
}
功能20:服务状态查看
A:查看是否已经开启
ansible slave -m service -a "name=httpd state=started"
比如:
[luomin@sxjteam /]$ sudo ansible slave -m service -a "name=httpd state=started"
192.168.25.11 | success >> {
}//表示已经开启
192.168.25.11 | success >> {
}//表示未开启
B:查看是否已经关闭
ansible slave -m service -a "name=httpd state=stopped"
192.168.25.11 | success >> {
}//已经关闭
192.168.25.11 | success >> {
}//已经开启
C:远程重启服务
ansible slave -m service -a "name=httpd state=restarted"
功能21:在同一组(webgame)的所有从机用10个线程来进行重启
ansible webgame -a "/sbin/reboot" -f 10
功能22:以luomin账户执行
ansible webgame -a "/usr/bin/ls" -u luomin
功能23:以luomin账户sudo运行
ansible webgame -a "/usr/bin/foo" -u luomin --sudo [--ask-sudo-pass]
功能24:查看脚本帮助
ansible-playbook --help
上一篇 如何让网站被搜索引擎更好地收录
下一篇 网站布局关键词在首页分布的位置