设为首页 收藏本站
查看: 1082|回复: 0

[经验分享] Ansible常用模块介绍及使用

[复制链接]

尚未签到

发表于 2018-7-29 13:28:25 | 显示全部楼层 |阅读模式
  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 -a '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  # 更多的模块请查看此链接

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-543110-1-1.html 上篇帖子: [ansible学习笔记]Error: ansible requires the stdlib json or simplejson module, neith 下篇帖子: 使用ansible远程执行命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表