ansible
3.1 配置
#vim /etc/ansible/hosts //定义主机,支持IP和域名,支持分组
[local]
127.0.0.1
[nginx]
192.168.0.10 //客户端IP地址
#vim /etc/ansible/ansible.cfg //简单配置,需要根据自己的实际环境修改
[defaults]
# some basic default values...
hostfile = /etc/ansible/hosts
library = /usr/share/ansible
remote_tmp = $HOME/.ansible/tmp
pattern = *
forks = 5
sudo_user = root
#ask_sudo_pass = True
#ask_pass = True
transport = smart
remote_port = 2211
### 配置说明:
hostfile=/etc/ansible/hosts #指定默认hosts配置的位置
host_key_checking = False #不进行host_key检查,省去目标key发生变化时输入(yes/no)的步骤
ask_pass=True # 每次执行ansible命令是否询问ssh密码
ask_sudo_pass=True # 每次执行ansible命令时是否询问sudo密码
log_path= /var/log/ansible.log # ansible用户时需要:chown -R ansible:ansible ansible.log
#visudo
设置sudo 这样就不用咨询sudo密码了
3.2测试ansible的使用
$ansible all -m ping //使用ping模块测试,以下显示成功,可以继续其他操作
127.0.0.1 | success >> {
}
192.168.0.10 | success >> {
}
3.3模块测试
1、ansible命令
语法ansible <host-pattern> [options]
ansible <pattern_goes_here> -m<module_name> -a <arguments>
选项
-i 设备列表路径,可制定一些动态路径
-f 并行任务数
–private-key 私钥路径
-m 模块名
-M 模块夹在路径
-a 参数
-k 登陆密码
-K sudo密码
-t 输出结果保存路径
-B 后台运行超时时间
-P 调查后台程序时间
-u 执行用户
-U sudo用户
-l 限制设备范围
-s是此用户sudo无需输入密码
2、体验命令操作
(1)用户类操作
$ ansible webtest -m group -a"name=jjgame state=present" -s
$ ansible webtest -m user -a"name=utest groups=jjgame state=present" -s
$ ansible webtest -m user -a"name=utest state=absent remove=yes" -s
(2)服务安装管理
$ ansible local -a 'sudo apt-get -y installnginx'
$ ansible local -a "sudo/etc/init.d/nginx stop"
$ ansible local -a "sudo/etc/init.d/nginx start"
$ ansible webtest -m service -a "name=nginx state=running" -s
(3)其他测试过的
$ ansible datacenter -a 'ls -l /root' -s
$ ansible datacenter -a 'mv/root/old.tar.gz /root/new.tar.gz' -s
$ ansible datacenter -m file -a'path=/root/new.tar.gz' -s //查看文件属性
$ ansible datacenter -a 'rm -rf/root/directory' -s //删除目录
$ ansible all -m command -a "/bin/echohello" --ask-pass
$ ansible all -m ping --ask-pass -u root
$ ansible all -m script -a"/root/hequan/shell/t.sh" -k
$ ansible all -m copy -a"src=/root/hequan/shell/t.sh dest=/tmp/ mode=755 owner=rootgroup=root" -k -u root
$ ansible all -m file -a"dest=/tmp/t.sh mode=755 owner=root group=root" -k -u root
$ ansible all -i /etc/ansible/serverlist -mshell -a "/tmp/t.sh" -k -u root
$ ansible webtest -m get_url -a"url=http://192.168.0.8/sa/ sh.tar.gz dest=/tmp/" -s
$ ansible webtest -a "sudo tar zxvf/tmp/ sh.tar.gz -C /tmp" -s //不指定解压目录,会解压到/home/ansible目录下
$ ansible webtest -a "sudo/tmp/lansa_sh/t.sh" –s
ansible的更多相关文章
- 如何利用ansible callback插件对执行结果进行解析
最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...
- 《Ansible权威指南》笔记(2)——Inventory配置
四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...
- useful Ansible commands
This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...
- 《Ansible权威指南》笔记(4)——Playbook
七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...
- 自动化运维工具ansible部署以及使用
测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...
- Ansible Ubuntu 安装部署
一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...
- Ansible 模块命令介绍
copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...
- 用Vagrant和Ansible搭建持续交付平台
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...
随机推荐
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...
- Vim编辑器-批量注释与反注释
标签:linuxLinuxLINUXvimVIMVim编程 2013-01-10 09:52 27517人阅读 评论(3) 收藏 举报 分类: Linux(18) 版权声明:本文为博主原创文章,未 ...
- Centos php项目发布问题
LAMP环境,项目运行错误日志路径:/var/log/httpd 错误日志例如: [Sat Jul :: ] [error] [client , referer: http://192.168.100 ...
- html 把左框的选中项添加到右框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 分布式环境下限流方案的实现redis RateLimiter Guava,Token Bucket, Leaky Bucket
业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧. 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“ ...
- Java NIO学习(一)
Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Sel ...
- 遇到could not find developer disk image 问题怎么解决
一般是设备的版本低于或者高于当前的xcode
- PostgreSQL Replication之第十章 配置Slony(1)
在PostgreSQL领域中,Slony是最广泛的复制解决方案之一.它不仅是最老的复制方案实现的一个,但也是有最多的外部工具支持的一个,例如PgAdmin3等. 在本章中,我们将深入探究Slony并学 ...
- Python之urllib2
urllib2 - extensible library for opening URLs Note The urllib2 module has been split across several ...
- 转:Python requests 快速入门
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...