ansible常用命令解析:

查看当前 ansible 都支持哪些模块: ansible-doc -l

查看某一模块可以使用的参数:ansible-doc -s copy (eg:copy模块)

ansible用法:

ansible 主机名 -m 模块名 -a 模块参数

-m:模块的名字,如果执行单一的命令不用加-m,默认走command

-a: 模块参数,如果模块是command,-a 后面跟的就是命令参数

-i : 指定hosts文件位置      默认:/etc/ansible/hosts

-f: 并行任务数,一定是整数

-u:指定远程用户,默认是root

ping模块

ansible 192.168.118.14 -m ping

可以看到在不使用管道的时候shell和command两个模块是没有分别的,但是使用了管道,可以看到command的管道是不生效的。

shell和command:这两个模块都是运行命令的模块,区别是command模块不支持shell变量和管道。

(1)、批量使用命令[command/shell]

1

    ansible storm_cluster -m command -'date'  #  如下图

# 通过这个命令可以直接将两个测试环境的时间都显示出来,success 表示成功执行了。command

此参数表示“在远程主机上执行命令”。

如此可以将date命令,换成/usr/local/tomcat/bin/./shutdown.sh等命令。

(2)、文件复制[copy]     #  复制文件到远程文件

1

2

3

4

      ansible storm_cluster -m copy -a "\

      src=/alidata/www/WEB-INF1214.zip\

      dest=/alidata/www/WEB-INF1214.zip\

      owner=root group=root backup=yes";     #  如下图

src:被复制到远程主机的本地文件,可以是绝对路径,也可以是相对路径。

owner:文件所有者

group:文件所属用户组

dest:复制到远程的文件。必填项

mode:文件权限。如文件为755权限,mode="0755"即可。

(3)、远程查看文件内容  

1

     [root@localhost /]# ansible storm_cluster -m command -a "cat /1.txt"    #  如下图

(4)文件管理[file]

file:更改文件的用户及权限,创建或删除文件和目录。

修改所有服务器的/tmp/test.txt文件的权限为755:

# ansible all -m file -a "dest=/tmp/test.txt mode=755"

创建/tmp/test目录:

# ansible testservers -m file -a "dest=/tmp/test mode=755 owner=root group=root state=directory"

删除/tmp/test目录:

# ansible testservers -m file -a "dest=/tmp/test.txt state=absent"

 (5) 软件包管理:【yum/apt】

atp(ubuntu),yum(redhat):

安装一个软件包(links):

# ansible testservers -m yum -a "name=curl state=present"

安装软件到最新版本

# ansible testservers -m yum -a "name=links state=latest" 

删除一个软件包:

# ansible testservers -m yum -a "name=links state=absent"

(6) 用户和用户组[user/group]:

user:创建,修改,删除用户。

创建cmh用户:

# ansible all -m user -a "name=cmh password=123456"

删除cmh用户:

# ansible all -m user -a "name=cmh state=absent" 

创建ansible组:

# ansible 192.168.118.14 -m group -a "name=ansible gid=2016"

(7)服务管理[service]:

service:启动,重启,关闭系统服务。

   关闭服务:

 # ansible testservers -m service -a "name=nfs state=stopped"

开启服务:

 # ansible testservers -m service -a "name=nfs state=started"

重启或者重新加载服务:

 # ansible testservers -m service -a "name=nfs state=restarted"

 # ansible testservers -m service -a "name=nfs state=reloaded"

(8)收集系统信息[setup]:

收集匹配主机的所有信息:

# ansible all -m setup

收集信息并以主机名为文件保存在指定目录中:

# ansible all -m setup --tree /tmp/facts

过滤信息:(收集内存相关)

# ansible all -m setup -a 'filter=ansible_*_mb'

(9)定义任务计划[cron]

  # ansible all -m cron -a 'name="Cron job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/bin/ntpdate tiger.sina.com.cn"

(10)下载文件[get_url]

  ansible 192.168.118.14 -m get_url -a 'url=http://192.168.118.14/1.png dest=/tmp'

(11)文件同步[ synchronize]

ansible 192.168.118.14 -m synchronize -a 'src=/root/test dest=/tmp/ compress=yes'

http://docs.ansible.com/ansible/modules_by_category.html  # 更多的模块请查看此链接

转载于:https://blog.51cto.com/tfbaby/1902966

Ansible常用模块介绍及使用相关推荐

  1. Ansible 自动化运维工具之inventory和常用模块介绍

    一.inventory介绍 前面我们介绍过ansible的hosts文件是存放被管理主机的,被管理主机比较少的情况下,直接在hosts中定义即可,但是以后很定会管理多台主机,而ansible可管理的主 ...

  2. Ansible常用模块详解

    Ansible常用模块 2015年底270多个模块,2016年达到540个,2018年01月12日有1378个模块,2018年07月15日1852个模块,2019年05月25日(ansible 2.7 ...

  3. python ansible模块_Python之——Ansible常用模块及API,pythonansibleapi

    Python之--Ansible常用模块及API,pythonansibleapi 转载请注明出处:http://blog.csdn.net/l1028386804/article/details/7 ...

  4. ansible常用模块 -- fial模块 -- 自定义消息失败

    ansible常用模块 -- fial模块 -- 自定义消息失败 fial模块 -- 自定义消息失败 一.摘要 二.参数 三.示例 fial模块 – 自定义消息失败 一.摘要 此模块使用自定义消息使进 ...

  5. ansible常用模块应用

    ansible常用模块应用 1.shell 和command command和shell模块的区别 command模块的命令不启动shell,是通过ssh执行命令的 command不支持bash特性, ...

  6. 自动化运维---ansible常用模块之文件操作(findreplace模块)

    自动化运维-ansible常用模块之文件操作(find&replace模块) 文章目录 自动化运维---ansible常用模块之文件操作(find&replace模块) 1.find模 ...

  7. ansible自动化运维详解(三)ansible常用模块续

    文章目录 ansible自动化运维详解(三)ansible常用模块续 四.ansible常用模块(2) 4.10.yum_repository 4.11.dnf 4.12.service 及 fire ...

  8. Ansible常用模块之cron

    Ansible常用模块之cron 文章目录 Ansible常用模块之cron cron功能: cron参数 minute(分) hour(时) day(日) month(月) weekday(周) s ...

  9. ansible常用模块之 -- cron模块 – 管理cron.d和crontab项

    ansible常用模块之 -- cron模块 – 管理cron.d和crontab项 cron模块 – 管理cron.d和crontab项 一.摘要 二.参数 三.示例 cron模块 – 管理cron ...

最新文章

  1. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server
  2. BrowserSync前端同步测试工具
  3. 关于OSPF---1
  4. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...
  5. TensorFlow学习笔记(十一)读取自己的数据进行训练
  6. FZU 2082 过路费
  7. 【luogu 1024 一元三次方程求解】二分思想
  8. linux动态库查找路径以及依赖关系梳理
  9. OAuth 2.0介绍
  10. 2021-2025年中国顶级服务行业市场供需与战略研究报告
  11. 谷歌升级AutoML,可用于大规模图像分类和物体检测
  12. 每周工作量及时间统计
  13. ROS配置ipv6方法
  14. 天正坐标标注怎么不显示_cad中坐标标注怎么显示不了xy的
  15. Google浏览器无法上网问题解决
  16. 奥比中光深度摄像头_奥比中光展示智能深度3D摄像头技术解决方案
  17. 数据猿·金猿榜丨2017工业大数据领域最具潜力创业公司
  18. 【Auto.js脚本】淘宝618集喵币列车活动 自动浏览任务
  19. finalcut剪切快捷键_final cut pro怎么用快捷键把时间线上的素材移动到入点或剪辑点...
  20. <caption>表格标题标签

热门文章

  1. java 添加jbutton_java – 如何在JScrollPane上添加JButton?
  2. 【转载】DL图片预处理
  3. Intellij IDEA运行报Command line is too long解法
  4. JS格式化JSON串显示在表格中
  5. Python 列表(数组)初识
  6. 第十章—DOM(0)—NODE类型
  7. 如何正确关闭游戏服务器
  8. HDU 1251 统计难题 字典树/STL
  9. Linux下Json库的编译及代码测试
  10. 再来 10 个新鲜的 HTML5 教程