一、基本语法格式:

格式:ansible 受控主机IP/主机组 [选项] 参数

选项

-k 手动输入SSH协议的代码

-l 指定主机清单文件

-m 指定要使用的模块名

-a 设置传递给模块的参数

-M 指定要使用的模块路径

-S 使用su命令

-T 设置SSH协议的连接超时时间

--version 查看版本信息

-h 帮助信息

例如:ansible 192.168.10.128 -m ping -k

使用ansible-doc -l 可以列出当前版本已经安装的所有模块

使用ansible-doc 模块名 可以获取模块的使用帮助信息

二、ansible常见模块

ansible常用的模块名

ansible-doc 模块名 可以查看模块名的信息,下面有一个EXAMPLES:字段为示例

ping 检查受管主机的网络是否能够连通

yum 安装、更新及卸载软件包

示例:ansible all -m yum -a 'name=httpd state=latest' name为安装的软件包名称,state=latest代表状态为latest,下载版本最新的软件包

yum_repository 管理主机的软件仓库配置文件

template 复制模版文件到受管主机

copy 新建、修改及复制文件

示例:ansible all -m copy -a 'src=/etc/yum.repos.d/CentOS-Base.repo dest=/etc/yum.repo.d/' 拷贝主控机上的文件到all被控机上(src为需要拷贝的源文件路径,dest为拷贝到的目的主机上的目录)

user 创建、修改及删除用户

group 创建、修改及删除用户组

service 启动、关闭及查看服务状态

get_url 从网络下载文件

file 设置文件权限及创建快捷方式

模块常用参数

path=被管理文件的路径;

state=状态;

state状态常用参数

absent 删除目标文件

touch 如果目标文件不存在,则创建文件;如果文件存在,则更改目标文件的时间戳

directory 创建目录

hard 给目标文件参加软链接;与src一起用

link 给目标文件创建软链接;与src一起用

setype=安全上下文属性;

owner=文件所属主;

group=文件的所属组;

mode=文件的权限(0644;0755);

src=链接文件的路径

示例

ansible all -m file -a 'path=/mnt/xxx state=absent' 删除一个文件

ansible all -m file -a 'path=/mnt/xxx state=touch owner=cp group=cp mode=0755' 创建一个文件,所属主为cp,所属组为cp,权限为0755

cron 添加、修改及删除计划任务

command 直接执行用户指定的命令

ansible中默认执行的模块,默认自带-m command;不支持($、<、>、|)等特殊符号,shell模块支持

shell 直接执行用户指定的命令(支持特殊字符)

示例:在主控机上使用ansible的shell模块,对受控主机挂载源镜像

ansible all -m shell -a 'mkdir /mnt/cdrom' -m 使用shell模块,在受控主机上创建挂载点

ansible all -m shell -a 'mount /dev/cdrom /mnt/cdrom' 在受控主机上手动挂载

ansible all -m shell -a 'mount -a' 更新

ansible all -m shell -a 'umount /mnt/cdrom' 卸载

ansible all -m shell -a 'lsblk' 可以输入命令回显

debug 输出调试或报错信息

示例:ansible all -m debug -a 'msg=666'

mount 挂载硬盘设备文件

示例:ansible all -m mount -a 'path=/mnt/cdrom src=/dev/cdrom fstype=iso9660 state=present' all表示所有主机;-m使用mount模块,-a传递给mount模块的参数为路径、src、类型、state状态(present表示执行挂载操作,unmounted表示执行卸载操作)

filesystem 格式化硬盘设备文件

lineinfile 通过正则表达式修改文件内容

setup 手机受管主机上的系统及变量信息

firewalld 添加、修改及删除防火墙策略

lvg 管理主机的物理卷及卷组设备

lvol 管理主机的逻辑卷设备

三、示例

yum模块:ansible all -m 192.168.10.129 -a 'name=httpd state=latest'

copy模块:ansible 192.168.10.129 -m copy -a 'src=/etc/yum.repos.d/CentOS-Base.repo dest=/etc/yum.repo.d/'

file模块:ansible 192.168.10.129 -m file -a 'path=/mnt/xxx state=touch owner=cp group=cp mode=0755'

shell模块:ansible 192.168.10.129 -m shell -a 'lsblk'

mount模块:ansible 192.168.10.129 -m mount -a 'path=/mnt/cdrom src=/dev/cdrom fstype=iso9660 state=present'

Ansible运行临时命令的更多相关文章

  1. ansible使用临时命令通过模块来执行任务

    使用临时命令通过模块来执行任务 一.查看系统上安装的所有模块 ansible-doc -l 查看ping模块帮助文档 ansible-doc ping 1.ansible模块 文件模块: copy:将 ...

  2. Ansible之系列命令详解

    ansible系列命令有:ansible.ansible-doc.ansible-playbook.ansible-vault.ansible-console.ansible-galaxy.ansib ...

  3. loadrunner 运行场景-命令行运行场景

    运行场景-命令行运行场景 by:授客 QQ:1033553122 1 相对路径与绝对路径 在场景中为脚本指定一个相对位置,可以是相对于当前场景目录或lr安装目录. 当你运行一个场景,场景自动从这个相对 ...

  4. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  5. Ansible-Ad_Hoc临时命令的使用

    Ad_Hoc临时命令的使用 1.使用场景: 所有的临时获取信息的都可以使用,比如节前健康检查.临时更新配置文件. 2.用法: ansible -i 主机 -m 模块 选项 3.常用的命令选项: -v ...

  6. ansible 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源

      ansible 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置麻烦,a ...

  7. ansible的Ad-hoc命令

    本文主要介绍了ansible的Ad-hoc命令. Ansible提供两种方式去完成任务,一是 ad-hoc 命令,一是写 Ansible playbook.前者可以解决一些简单的任务, 后者解决较复杂 ...

  8. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  9. Windows Server 2008 R2 域控服务器运行nslookup命令默认服务器显示 UnKnown

    一.问题: 域控服务器DOS窗口运行nslookup命令提示如下: 二.原因分析: 主要原因在于域控服务器的DNS服务器没有设置反向查找区域,计算机名称是通过IP地址反向查找到域控服务器的计算机名称. ...

  10. [delphi]运行cmd命令,并取得输出字符

     http://blog.csdn.net/nerdy/article/details/8969189 [delphi]运行cmd命令,并取得输出字符 标签: delphiCMD命令 2013-05- ...

随机推荐

  1. 解决Failed to load module canberra-gtk-module错误

    在Ubuntu环境里,通过./triangulation 1.png 2.png 命令运行高翔的ch7的triangulation程序时报错: Gtk-Message: 09:10:26.571: F ...

  2. 在用Android StudioBuild项目时,提示:Could not resolve all files for configuration ':classpath'.Could not find com.android.tools.

    在用Android StudioBuild项目时,提示:Could not resolve all files for configuration ':classpath'.Could not fin ...

  3. C# 设置label(标签)控件的背景颜色为透明

    有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件.那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答 ...

  4. 跟着源码学IM(八):万字长文,手把手教你用Netty打造IM聊天

    本文作者芋艿,原题"使用 Netty 实现 IM 聊天贼简单",本底价有修订和改动. 一.本文引言 上篇<跟着源码学IM(七):手把手教你用WebSocket打造Web端IM ...

  5. 使用 httputils + sbe (Simple Binary Encoding) 实现金融级 java rpc

    1.认识 Simple Binary Encoding (sbe) 高性能Java库 Agrona 的主要目标是减少性能瓶颈,通过提供线程安全的直接和原子缓冲区.无装箱操作的原始类型列表.开散列映射和 ...

  6. CDS标准视图:银行对账单抬头 I_BankStatement

    视图名称:银行对账单抬头 I_BankStatement 视图类型:基础 视图代码: 点击查看代码 事务代码:FF67/ 视图结构: 字段名称 技术名称 短代码 BANKSTATEMENTSHORTI ...

  7. git worktree同一个仓库多个分支并行开发和管理

    介绍 Git Worktree 是 Git 提供的一个功能,允许你在同一个仓库中同时工作在多个工作目录中,每个目录都有自己的工作树和索引.这对于同时处理多个分支或版本非常有用. 常用命令 命令 解释 ...

  8. java学习第一章

    java 语法第一章 helloworld 编写 class helloworld public static void main(String[] args){ System.out.printli ...

  9. Android平台架构及特性

    Android平台架构及特性 Android系统的底层是建立在Linux系统之上,改平台由操作系统.中间件.用户界面和应用软件四层组成,它采用一种被称为软件叠层(Software Stack)的方式进 ...

  10. 11. SpringCloud Alibaba Seata 分布式事务处理的详细使用以及详细剖析

    11. SpringCloud Alibaba Seata 分布式事务处理的详细使用以及详细剖析 先看一个问题,引出 Seata 单机单库(多表)处理事务示意图 分布式微服务架构下的数据库事务示意图: ...