一,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. java实现第七届蓝桥杯压缩变换

    压缩变换 压缩变换 小明最近在研究压缩算法. 他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比. 然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些序列的特 ...

  2. vector常用方法

    1.find使用 不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的. #include <iostream>#inc ...

  3. 阿里巴巴二面凉经 flatten扁平化对象与数组

    2020-04-13 阿里巴巴二面凉经 flatten扁平化对象与数组 在线笔试的时候写错了一点点 太可惜了哎 还是基础不够扎实... const input = { a: 1, b: [ 1, 2, ...

  4. NativeXml实例训练时注意事项_1

    NativeXml实例训练: 1)使用NativeXml操作xml文件时,需要将几个单元文件在Library中引用,配置好这个后面的就可自由训练.或按照自己想要的组合折腾.       2)运行程序调 ...

  5. linu使用x之sz下载和rz上传

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...

  6. 开源一款超实用的 Dubbo 测试工具,已用半年,感觉很有feel~

    不知道你是否在工作中有遇到过类似情况: dubbo接口调试复杂,需要通过telnet命令或者通过consumer调用来触发. telnet语句参数格式复杂,每次编写都要小心谨慎,一旦出错又需重来. 复 ...

  7. Netty中的这些知识点,你需要知道!

    一.Channel Channel是一个接口,而且是一个很大的接口,我们称之为“大而全”,囊括了server端及client端接口所需要的接口. Channel是一个门面,封装了包括网络I/O及相关的 ...

  8. keycode 大全:

  9. Blazor带我重玩前端(一)

    写在前面 曾经我和前端朋友聊天的时候,我说我希望有一天可以用C#写前端,不过当时更多的是美好的想象,而现在这一切正变得真实…… 什么是Blazor 我们知道浏览器可以正确解释并执行JavaScript ...

  10. skywalking中文文档

    https://github.com/apache/skywalking/blob/v5.0.0-alpha/docs/README_ZH.md 大家可以前往如下地址下载我们的发布包: l  Apac ...