一,ansible 命令格式

#ansible <pattern> -m <module_name> -a <arguments>

#单个服务器
ansible 39.108.231.212 -m ping #多个服务器,使用":"连接
ansible 192.168.1.190:192.168.1.191 -m ping #test 组
ansible test -m ping #所有服务器
ansible all -m ping

二,ansible 常用模块

command、copy、fetch、file、ping、shell、service、setup、synchronize、yum

Asible 模块查询

ansible-doc -l             #可以直接查看内置模块
ansible-doc -s file       #file为模块名

1、命令执行模块

#重启主机   -f 线程数
ansible all –a "hostname" –f #shell模块
ansible all -m shell -a "hostname" #底层ssh 模块
ansible all -m raw -a "hostname"

2、文件操作

#下发文件,且授权以及备份
ansible all –m copy –a "src=/etc/hosts dest=/tmp/hosts owner=root group=root backup=yes" #备份的时候,只有在文件发生了变化的时候,那么会在远程主机上进行备份,而不是在本机上进行备份源文件,备份的是远程主机上被修改的文件 #上传文件(将把192.168.1.126服务器上的/root/test.sh文件上传到ansible 服务器,在/root目录下面保存为:192.168.1.126/root/test.sh)
ansible 192.168.1.126 -m fetch -a "src=/root/test.sh dest=/root" #创建目录
ansible all -m file -a "path=/tmp/hidir state=directory owner=opadmin mode=777" #创建空文件
ansible all -m file -a "path=/tmp/hifile state=touch owner=opadmin mode=777" #创建软连接(/tmp/test2.txt 是目标服务器上的源文件)
ansible all -m file -a "path=/tmp/mytest.txt src=/tmp/test2.txt state=link" #删除符号链接
ansible all -m file -a "path=/tmp/mytest.txt state=absent" #为文件赋予权限
ansible all -m file -a "dest=a.txt mode=600 owner=opadmin group=opadmin"

3,get_url模块

#下载url 文件,保存至tmp目录下
ansible all -m get_url -a "url=http://download.redis.io/releases/redis-4.0.2.tar.gz dest=/tmp/"

4,git模块

#通过yum 模块安装git
ansible webserver -m yum -a "name=git state=latest" #克隆仓库,保存至/tmp/fastdfs
ansible webserver -m git -a"repo=https://github.com/happyfish100/fastdfs.git dest=/tmp/fastdfs"

5,cron 模块

#每隔五分钟所有机器都去172..18.0.1上面同步一次时间
ansible all -m cron -a "name='timesync' job='/usr/sbin/ntpdate 172.18.0.1 &> /dev/null' minute='*/5'"
ansible all -m cron -a "name='check dirs' hour='5,2' job='ls -alh > /dev/null'" #删除crontab
ansible all -m cron -a "name='timesync' job='/usr/sbin/ntpdate 172.18.0.1 &> /dev/null' minute='*/5' state=absent" #注释crontab
ansible all -m cron -a "name='timesync' job='/usr/sbin/ntpdate 172.18.0.1 &> /dev/null' minute='*/5' state=present disabled=true"

6,service模块

#启动服务
ansible all -m service -a "name=nginx enabled=true state=started" #重启服务
ansible all –m service –a "name=nginx state=restarted" #停止服务
ansible all –m service –a "name=nginx state=stopped"

7,yum模块

#安装
ansible all –m yum –a "name=httpd state=installed" #安装指定版本的包
ansible all –m yum –a "name=httpd-2.6 state=installed" #安装最新版本的包
ansible all –m yum –a "name=httpd state=latest" #卸载安装包
ansible all –m yum –a "name=httpd state=removed"

8,用户管理(user)

# 增加用户
ansible all –m user –a "name=tom password=123456" # 删除用户
ansible all –m user –a "name=tom state=absent"

9、设备信息检查

ansible all –m setup

10,script 脚本执行模块

ansible all –m script –a "/root/demo/test.sh"

11,mount 远程主机分区挂载

ansible all -m mount -a "name=/mnt/data src=/dev/sd0 fstype=ext4 opts=ro state=present"

(二)ansible 使用的更多相关文章

  1. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  2. 004.Ansible Ad-Hoc命令集

    一 Ad-Hoc使用场景 Ad-Hoc更倾向于解决简单.临时性任务. 1.1 Ad-Hoc基础命令 基本语法: 1 ansible <host-pattern> [options] < ...

  3. 003.Ansible基础使用

    一 Ansible命令用法 Ansible命令行执行方式有:Ad-Hoc.Ansible-playbook两种,Web方式其官方提供付费产品Tower.Ad-Hoc主要用于临时命令的执行,Ansibl ...

  4. 002. Ansible部署及配置介绍

    一 Ansible的安装部署 1.1 PIP方式 安装PIP 略,可参考<001.Pip简介及使用>. 提示:建议将PIP升级到最新:pip install --upgrade pip. ...

  5. ansible环境部署及常用模块总结 - 运维笔记

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  6. Ansible自动化运维工具使用

    概述本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含: Centos 下的安装主机配置Ad-Hoc command(命令行执行)Playbook (任务剧本)Ansible 和 Sa ...

  7. ansible基础☞安装方法

    一 需要安装些什么 Ansible默认通过 SSH 协议管理机器. 安装Ansible之后,不需要启动或运行一个后台进程,或是添加一个数据库.只要在一台电脑(可以是一台笔记本)上安装好,就可以通过这台 ...

  8. 【原创】Centos8使用ansible

    目录 使用ansible发布公钥 ansible基本命令 ansbile配置文件详解 一.使用ansible发布公钥 1.0 生成秘钥对 1.生成命令 ssh-keygen -t rsa# 推送单个公 ...

  9. 001.Ansible简介与基本安装

    一 自动化运维 1.1 运维的自动化发展历程 IAAS:infratructure as a Service PAAS:platform as a Service 平台及服务 SAAS:softwar ...

  10. Ansible基础使用

    原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 Ansible命令用法 1.1 免密钥 1.2 Ad-Hoc基础命令 1.3 ...

随机推荐

  1. 阿里云专有网络配置以及交换机配置+ip、子网掩码、ip网段计算原理讲解

    在阿里云上购买ECS或者其他服务,如redis.polardb时,需要配置专有网络,阿里的文档写的总体上还是比较抽象的,没有一定的网络基础,会一脸懵. 所以这里我来进行专有网络和交换机的配置,以及ip ...

  2. springboot集成mybatis(逆向工程),热部署以及整合Swagger2

    本文是作者原创,版权归作者所有.若要转载,请注明出处. springboot集成mybatis和mybatis-generator插件 1.新建Springboot项目(略) 2.导入相关依赖 < ...

  3. Spring zuul 快速入门实践 --看zuul如何进行服务转发

    zuul 作为springCloud 的全家桶组件之一,有着不可或缺的分量.它作为一个普通java API网关,自有网关的好处: 避免将内部信息暴露给外部: 统一服务端应用入口: 为微服务添加额外的安 ...

  4. Vue3 新特性

    一.vue3 为什么要重写 两个主要原因考虑重写vue新版本主要功能: 1.主流浏览器对新的JavaScript语言特性的普遍支持. 2.当前Vue代码库随着时间的推移而暴露出来的设计和体系架构问题. ...

  5. ubuntu qwt6.1.0安装

    1.ubuntu-12.04 qt-5.1.1 2.sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev 3.qmake 4.make 5.sud ...

  6. 【Jmeter】日常骚操作最简洁上传和下载

    上传文件或图片 第一步:正常填写域名地址,请求头及路径(此处不过多讲解) 第二步:http请求中,高级设置——Implementation(翻译:实现)值选择修改为:java 第三步:查看结果树请求成 ...

  7. MySQL触发器的详细教学与综合分析

    所有知识体系文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual MySQL触发器 ...

  8. windows10+office2019各版本激活密钥

    [windows10激活密钥] 1.win10专业版 236TW-X778T-8MV9F-937GT-QVKBB 87VT2-FY2XW-F7K39-W3T8R-XMFGF KH2J9-PC326-T ...

  9. linux下解决vim打开文件乱码现象

    用VIM打开一个文件进行编辑时最下面的任务栏出现中文乱码,严重影响编写代码. 因为VIM默认的语言支持不行, 修改~/.vimrc 文件或/etc/vimrc 文件,添加一下代码: set encod ...

  10. IE6 中png背景透明的最好方法

    应用方式:(网站尾部加上如下代码) <!--[if IE 6]> <script src="js/DDPngMin.js"></script> ...