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的更多相关文章

  1. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  2. 《Ansible权威指南》笔记(2)——Inventory配置

    四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...

  3. useful Ansible commands

    This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...

  4. 《Ansible权威指南》笔记(4)——Playbook

    七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...

  5. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  6. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  7. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  8. Ansible Ubuntu 安装部署

    一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...

  9. Ansible 模块命令介绍

    copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...

  10. 用Vagrant和Ansible搭建持续交付平台

    这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...

随机推荐

  1. 欢迎加入iOS开发初学者交流群:180080550

    本人现自学iOS开发,希望有志同道合的兄弟姐妹能一起交流学习, 欢迎加入iOS开发初学者交流群:180080550,期待与您一起进步,一起腾飞!

  2. [PCL]1 PCL点云库安装

    1.安装文件下载:官网,我还是比较喜欢别人编译好的安装包啊,哈哈. http://www.pointclouds.org/downloads/windows.html 2.傻瓜式安装(下面的依赖项都集 ...

  3. ios-序列帧动画核心代码简单介绍以及封装

    imageView的属性,isAnimating在这里用来当正执行;一个动画的时候,禁止开启其他动画. UIImage imageNamed这个方法加载的图片是有缓存的,它是把所有的图片先加载到内存中 ...

  4. j2ee ehcache

    Ehcache is an open source, standards-based cache that boosts performance, offloads your database, an ...

  5. 解决xcode6_beta没有代码提示的方法

    在beta版本的xcode6中我们会发现代码提示不怎么好使,但是看一些老外的视频,他们的代码提示却又是赶赶的.这是为什么呢?其实解决办法也很简单.就是在项目中不出现中文字符就好了.有的同学说,我没用中 ...

  6. G面经prepare: Reorder String to make duplicates not consecutive

    字符串重新排列,让里面不能有相同字母在一起.比如aaabbb非法的,要让它变成ababab.给一种即可 Greedy: 跟FB面经Prepare task Schedule II很像,记录每个char ...

  7. ls常用参数

    ls常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩Linux的老司机们每天都要敲的命令,但是这个鸡蛋的命令还有很多中玩法哟~跟着我一起敲一遍吧!在这里我就列举几个常 ...

  8. AIR 14 Beta - Missing builtin type Object 解决方法

    使用AIR SDK14 时候出现 Missing builtin type Object 的问题 参考 https://forums.adobe.com/thread/1483159 下载最新的Fla ...

  9. topsort

    top排序每次入队的是限制情况为0的... 就可以直接记录了,每次出队的就也是为0的,出队结果对每个子节点或者被限制节点,的限制条件-1 然后再判断有没有后继有没有为0的,有就入队! 出入队一次,找后 ...

  10. cocos游戏开发之海岛冒险1

    1.首先在cocosStudio软件中新建项目:项目名称IslandAdventure:项目语言:C++ 2.在项目路径F:\cocos\MyProject\IslandAdventure如下: 3. ...