1.确保机器上安装的是 Python 2.6 或者 Python 2.7 版本:
python -V
2.查看yum仓库中是否存在ansible的rpm包
yum list|grep ansible
若不存在或是低版本可更换yum源或者采用源码安装
阿里云的yum源:http://mirrors.aliyun.com/repo/ 备份源文件,然后下载对应的版本至/etc/yum.repos.d/目录即可,如epel-6.repo (通过该yum源安装ansible会依赖python 2.6,如果python版本是2.7以上可能会安装失败)
3.安装ansible服务:
yum install ansible -y
4.在服务器端:
执行ssh-keygen -t rsa生成密钥
接着执行ssh-copy-id root@IP 输入ip的秘密
最后执行ssh ip如果没有提示输入秘密就直接登入ip,说明免密登录成功了
ansible目录结构 /etc/ansible
deprecation_warnings = False (防止报错)
ansible.cfg(配置文件) hosts(IP目录分组) roles(目录)
ansible命令
ansible test-server -m ping
格式:
ansbile 操作目标 -m 模块名 -a 模块参数
ansible test-server -m copy -a "src=/zhangjie.txt dest=/opt/owner=root group=root mode=0755 force=yes"
ansible IP组 指定参数 复制模块 执行命令 源目录 目的目录 用户 用户组 权限 强制覆盖=yes
1.copy模块: 拷贝
ansible test-server -m copy -a "src=/zhangjie.txt dest=/opt/"
2.setup模块: 获取主机信息
ansible all -m setup
3.command模块: 用于远程执行命令(可以省略)
ansible test-server -a 'date'
4.cron模块: 计划任务模块
ansible db -m cron -a 'minute="" hour="" day="" month="" weekday="" job="" name="(必须填写)" state"present"'
模块 分 时 日 月 周 要执行的任务 介绍 state有两个状态:present(添加(默认值))or absent(移除)
5.file模块: 创建文件目录
ansible db -m file -a "path=/tmp/test state=touch"
6.yum模块:yum安装目录
ansible web -m yum -a 'name="@Development tools" state=present'
7.service模块:
ansible web -m service -a 'enabled=yes name=httpd state=started'
8.shell模块: 命令模块,比command好用一些
ansible web -m shell -a "ps -ef|grep httpd"
9.script模块: 脚本执行模块
ansible db -m script -a '/tmp/script.sh'
10.mount模块:挂载模块
ansible test -m mount 'name=/mnt src=/dev/loop0 fstype=ext4 state=mounted opts=rw'