一、相关用法:
1、执行shell
获取web组里得eth0接口信息
ansible web -a "ifconfig eth0"
2、执行ifconfig eth0 命令,ansible模块 默认是command,它不会通过shell进行处理,
所以像$ HOME和像“<”,“>”,“|”,“;” 和“&”将不工作(如果您需要这些功能,请使用shell模块)。
以shell解释器执行脚本
ansible web -m shell -a "ifconfig eth0|grep addr"
3、以raw模块执行脚本
ansible web -m raw -a "ifconfig eth0|grep addr
4、将本地脚本传送到远程节点上运行
ansible web -m script -a ip.sh
5、传输文件
拷贝本地的/etc/hosts 文件到web组所有主机的/tmp/hosts(空目录除外)
ansible web -m copy -a "src=/etc/hosts dest=/tmp/hosts"
拷贝本地的ntp文件到目的地址,设置其用户及权限,如果目标地址存在相同的文件,则备份源文件。
ansible web -m copy -a "src=/mine/ntp.conf dest=/etc/ntp.conf owner=root group=root mode=644 backup=yes force=yes"
6、file 模块允许更改文件的用户及权限
ansible web -m file -a "dest=/tmp/a.txt mode=600 owner=user group=user"
7、使用file 模块创建目录,类似mkdir -p
ansible web -m file -a "dest=/tmp/test mode=755 owner=user group=user state=directory"
使用file 模块删除文件或者目录
ansible web -m file -a "dest=/tmp/test state=absent"
创建软连接,并设置所属用户和用户组
ansible web -m file -a  "src=/file/to/link/to dest=/path/to/symlink owner=user group=user state=link"
touch 一个文件并添加用户读写权限,用户组去除写执行权限,其他组减去读写执行权限
ansible web -m file -a  "path=/etc/foo.conf state=touch mode='u+rw,g-wx,o-rwx'"
管理软件包
apt、yum 模块分表用于管理Ubuntu 系列和RedHat 系列系统软件包
更新仓库缓存,并安装"foo"
ansible web -m apt -a "name=foo update_cache=yes"
删除 "foo"
ansible web -m apt -a "name=foo state=absent"
安装  "foo"
ansible web -m apt -a "name=foo state=present"
安装  1.0版本的 "foo"
ansible web -m apt -a "name=foo=1.00 state=present"
安装最新得"foo"
ansible web -m apt -a "name=foo state=latest"
注释:Ansible 支持很多操作系统的软件包管理,使用时-m 指定相应的软件包管理工具模块,如果没有这样的模块,可以自己定义类似的模块或者使用command 模块来安装软件包
安装 最新的 Apache
ansible web -m yum -a  "name=httpd state=latest"
删除apache
ansible web -m yum -a  "name=httpd state=absent"
从testing 仓库中安装最后一个版本得apache
ansible web -m yum -a  "name=httpd enablerepo=testing state=present"
更新所有的包
ansible web -m yum -a  "name=* state=latest"
安装远程的rpm包
ansible web -m yum -a  "name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present"
安装  'Development tools' 包组
ansible web -m yum -a  "name='@Development tools' state=present"
用户和用户组
添加用户 'user'并设置其 uid 和主要的组'admin'
ansible web -m user -a "name=user  comment='I am user ' uid=1040 group=admin"
添加用户 'user'并设置其登陆shell,并将其假如admins和developers组
ansible web -m user -a "name=user shell=/bin/bash groups=admins,developers append=yes"
删除用户 'user '
ansible web -m user -a "name=user state=absent remove=yes"
创建 user用户得   2048-bit SSH key,并存放在 ~user/.ssh/id_rsa
ansible web -m user -a "name=user generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa"
设置用户过期日期
ansible web -m user -a "name=user shell=/bin/zsh groups=nobdy expires=1422403387"
创建test组,并设置git为1000
ansible web -m group -a "name=test gid=1000 state=present"
删除test组
ansible web -m group -a "name=test state=absent"
源码部署
Ansible 模块能够通知变更,当代码更新时,可以告诉Ansible 做一些特定的任务,比如从git 部署代码然后重启apache 服务等
ansible web-m git -a "repo=https://github.com/Icinga/icinga2.git dest=/tmp/myapp   version=HEAD"
服务管理
确保web组所有主机的httpd 是启动的
ansible web-m service -a "name=httpd state=started"
重启web组所有主机的httpd 服务
ansible web-m service -a "name=httpd state=restarted"
确保web组所有主机的httpd 是关闭的
ansible web-m service -a "name=httpd state=stopped"
后台运行
长时间运行的操作可以放到后台执行,ansible 会检查任务的状态;在主机上执行的同一个任
务会分配同一个job ID
后台执行命令3600s,-B 表示后台执行的时间
ansible all -B 3600 -a "/usr/bin/long_running_operation --do-stuff"
检查任务的状态
ansible all -m async_status -a "jid=123456789"
后台执行命令最大时间是1800s 即30 分钟,-P 每60s 检查下状态默认15s
ansible all -B 1800 -P 60 -a "/usr/bin/long_running_operation --do-stuff"
定时任务
每天5点,2点得时候执行 ls -alh > /dev/null
ansible test -m cron -a "name='check dirs' minute='0' hour='5,2' job='ls -alh > /dev/null'"
搜集系统信息
搜集主机的所有系统信息
ansible all -m setup
搜集系统信息并以主机名为文件名分别保存在/tmp/facts 目录
ansible all -m setup --tree /tmp/facts
搜集和内存相关的信息
ansible all -m setup -a 'filter=ansible_*_mb'
搜集网卡信息
ansible all -m setup -a 'filter=ansible_eth[0-2]'
================================================================================================
二、详细步骤如下:
1、复制主机的文件:ansible clsn -m copy -a "src=/etc/hosts dest=/tmp/",查看主机的文件:ansible clsn -m shell -a "ls -l /tmp/hosts"
2、创建一个目录:ansible clsn -m file -a "dest=/tmp/aaa state=directory"

3、删除目录文件信息:ansible clsn -m file -a "dest=/tmp/bbb state=absent"

4、创建多级目录:ansible clsn -m copy -a "src=/etc/hosts dest=/tmp/00001/222/222/"

转载于:https://www.cnblogs.com/flagsky/p/8970486.html

Ansbile实战经验相关推荐

  1. 《新程序员003》正式上市!华为、阿里等 30+ 公司的云原生及数字化实战经验...

    作者 | 唐小引 出品 | <新程序员>编辑部 <新程序员 003:云原生和全面数字化实践>图书今日正式上市,纸书和电子书同步上架 CSDN 商城.New 程序员小程序.京东. ...

  2. Pinterest 谈实战经验:如何在两年内实现零到数百亿的月访问

    Pinterest 谈实战经验:如何在两年内实现零到数百亿的月访问 发表于2013-04-17 17:20| 5639次阅读| 来源High Scalability| 46 条评论| 作者Todd H ...

  3. 2018 年将打响 AI 战争,7 条实战经验帮你战胜恐惧

    来源:36氪 概要:不管是对科技巨头还是对创业公司,人工智能可以说是移动互联网时代以来最大的一个机遇.但是,人工智能同时也是让大多数人感到非常困惑的一项新技术,对它的发展现状和未来都非常迷惑. 不管是 ...

  4. 【实战经验分享】一劳永逸的解决网线随意热插拔问题

    [实战经验分享]一劳永逸的解决网线随意热插拔问题 参考文章: (1)[实战经验分享]一劳永逸的解决网线随意热插拔问题 (2)https://www.cnblogs.com/armfly/p/11818 ...

  5. 《新程序员003》来了!华为、阿里等 30+ 公司的云原生及数字化实战经验!

    <新程序员 003:云原生和全面数字化实践>图书正式上市,纸书和电子书同步上架 CSDN 商城.New 程序员小程序.京东.当当等平台.这是由 50 余位技术专家共同创作,写给所有关注云原 ...

  6. 浅析网站建设实战经验下的通用原则

    近些年随着互联网市场的日益盛行,各行各业都做起了企业官网,说到做网站没有谁比专业网络公司更在行,建设成一个网站很简单,但是想要运营好就很难,毕竟其中包含的内容太多.太广.比如说网站策划.市场营销等多方 ...

  7. dt测试软件的学习心得,无线网络优化dt测试心得_适合新手入门,高手进阶_5年项目经验实战经验.docx...

    无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 路测中不常见的问题和个人心得 1.深井子镇投诉测试报告 ...

  8. 【线上直播】深度学习简介与落地实战经验分享

    分享嘉宾: 嘉宾简介: 郑泽宇,知衣科技联合创始人兼CEO,美国Carnegie Mellon University(CMU)硕士,畅销书<TensorFlow:实战Google深度学习框架&g ...

  9. (转)MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验...

    标签:服务器 数据库 老男孩 高薪技能 一线城市 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangweilinux.bl ...

  10. ASP.NET Core amp; Docker 实战经验分享

    一.前言 最近一直在研究和实践ASP.NET Core.Docker.持续集成.在ASP.NET Core 和 Dcoker结合下遇到了一些坑,在此记录和分享,希望对大家有一些帮助. 二.中间镜像 我 ...

最新文章

  1. docker 核心概念整理
  2. java date 减小时_java 获取本机当前时间并对小时任意加减
  3. pytorch 训练过程acc_深度学习Pytorch实现分类模型
  4. C#实现多态之一抽象
  5. C/C++线程基本函数
  6. 男女之间应该保留多少隐私
  7. 注解驱动的 Spring cache 缓存介绍
  8. VS2005 解决应用程序配置不正确,程序无法启动问题(小问题,大思想)
  9. 第一次注册苹果开发者账号
  10. Mac OS10.12 编译Android源码8.1
  11. 适合女孩子的高颜值蓝牙耳机推荐?2020新款高人气蓝牙耳机
  12. 01-什么是网络爬虫
  13. unity商店创建开发者账户
  14. php怎么获取图片信息,PHP获取图片信息exif
  15. android手机wifi打不开,手机wifi开关打不开什么原因_手机wifi开关失灵的解决方法-系统城...
  16. 数据结构(一) --- 开篇
  17. 面部皮肤200种问题_颧骨内推真那么吓人?这是一篇耗时200个小时的功课
  18. 考研:2023寒假复习及2022复试问题
  19. day05数据类型(上)
  20. 案例-旋转中心(CSS3)

热门文章

  1. lib包含# #pragma comment
  2. mongodb and ssis
  3. 创建型模式专题总结:Creational Pattern(转自Terrylee)
  4. day10--Matplotlib--条形图与散点图
  5. HTML5学习总结(2)——header/nav/footer/article/section/aside
  6. 为什么 Flink 无法实时写入 MySQL?
  7. Apache Flink 进阶(五):数据类型和序列化
  8. 区块链入门教程,这一篇就足够了
  9. 技术不错的我去面试大厂,5分钟,就被秒了!憋屈~
  10. 画数轴的步骤_上分助手北师大数学七年级上册第二章有理数第二节数轴详细拆解...