ansible应用程序命令

1、ansible-doc命令:获取模块列表,及模块使用格式;

ansible-doc -l:获取列表

ansible-doc -s module_name:获取指定模块的使用信息

2、ansible命令格式

ansible <host-pattern> [-f forks] [-m module_name] [-a args]

<host-pattern> 指明管控主机,以模式形式表示或者直接给定 IP ,必须事先定义在文件中; all 设置所有
[-f forks]     每批管控多少主机,默认为 5 个主机一批次
[-m module_name]     何种模块管理操作,所有的操作都需要通过模块来指定
[-a args]
模块专用参数; args 一般为 key=value 格式

注意:command模块的参数非为kv格式,而是直接给出要执行的命令即可;

注意:

<host-pattern> 默认读取 /etc/ansible/hosts ,也可以指明自定义文件路径

-iPATH, --inventory=PATH:指明使用的host inventory文件路径;

常用模块 (module_name) :

1) command:默认模块 ,可省略。在远程主机上进行操作命令

-a  ‘COMMAND‘

注意: comand 模块的参数非 key=value 格式,直接给出要执行的命令

[[email protected] ~]# ansible all -m command -a  ‘ifconfig‘

2)user:

-a ‘name=  state={present ( 创建 ) |absent ( 删除 ) }  force= ( 是否强制操作删除家目录 )   system=  uid=  shell= home=‘

[[email protected] ~]# ansible all -m user -a ‘name=ansible state=present‘

3)group:

-a ‘name= state={present|absent}  gid=  system= ( 系统组 ) ‘

[[email protected] ~]# ansible all -m group -a ‘name=mygroup state=presentsystem=true‘

4)cron:

-a  ‘name= state=  minute=  hour= day=  month=  weekday= job=‘

[[email protected] ~]# ansible all -m cron -a ‘name=‘Time‘ state=presentminute=‘*/5‘     job=‘/usr/sbin/ntpdate 172.168.0.1 &> /dev/null‘‘

5)ping:

无参数

[[email protected] ~]# ansible all -m ping

6) file: 文件管理

-a ‘path=  mode=  owner= group= state={file|directory|link|hard|touch|absent}  src=\‘#\‘" /p>

[[email protected] ~]# ansible all -m file -a ‘path=/tmp/testdirstate=directory‘

[[email protected] ~]# ansible all -m file -a ‘path=/tmp/test.txt state=touchmod=600 owner=user1‘

7)copy:

-a ‘dest= ( 远程主机上路径 )   src=\‘#\‘" content= ( 直接指明内容 )  owner=          group=  mode=‘

[[email protected]]# ansible web -m copy -                                                a ‘src=/etc/yum.repos.d/aliyun.repodest=/etc/yum.repos.d/‘

8)template

-a  ‘dest= src=\‘#\‘" content=  owner= group=  mode=‘

9)yum:

-a ‘name=  conf_file= ( 指明配置文件 )  state=    {present|latest|absent} enablerepo= disablerepo=‘

[[email protected] ~]# ansible all -m yum ‘name=httpd state=present‘

10)service:

-a ‘name= state={started|stopped|restarted} enabled= ( 是否开机自动启动 )  runlevel=‘

[[email protected]lhost ~]# ansible all -m service -a ‘name=httpd state=started‘

11)shell:

-a ‘COMMAND‘    运行 shell 命令

[[email protected] ~]# ansible all -m shell -a echo "123456789" |passwd --stdin user1‘

12)script:

-a ‘/PATH/TO/SCRIPT‘ 运行脚本

[[email protected] ~]# ansible all -m script -a ‘/tmp/a.sh‘

时间: 2025-01-06 20:48:41

ansible应用程序命令的相关文章

Ansible 清单与命令解析(2)

title: Ansible 清单与命令解析(2) date: 2018-12-01 10:54:14 tags: Ansible categories: Ansible copyright: true --- Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能,ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是a

使用ansible远程执行命令

使用ansible远程执行命令 1.ansible简介 ansible的官方定义:"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工具的目标: 自动化部署APP 自动化管理配置项 自动化的持续交付 自动化的(AWS)云服务管理. 其本质上就是在远程在多台服务器执行一系列命令和文件同步,和以前的介绍的使用并行ssh提高工作效率功能类似,他们都是使用ssh协议进行远程操作,但ansible比pssh功能更强大,比如支持主机列表分组.支持pla

Redis学习笔记3-Redis5个可运行程序命令的使用

在redis安装文章中,说到安装好redis后,在/usr/local/bin下有5个关于redis的可运行程序.以下关于这5个可运行程序命令的具体说明. redis-server Redisserver的daemon启动程序 #启动并加装指定配置文件 redis-server redis.conf #查redis服务版本 redis-server –version # 以标准输入作为配置启动redis,当中key为配置參数,value为配置參数值 redis-server --port 600

Ansible Ad-Hoc 常用命令

Ansible Ad-Hoc常用命令 Ansible可以通过命令行形式使用它的模块,Ansible自带了很多模块,可以直接使用这些模块.目前Ansible已经自带了259个模块,可以通过ansible-doc -l 显示所有自带的模块,也可以通过ansible-doc -s 模块名 查看模块的介绍及使用示例. Ansible命令行的基本格式如下: ansible <host-pattern> [-m modult_name] [-a agrs] 基本语法说明: <host-pattern

Ansible之系列命令详解

ansible系列命令有:ansible.ansible-doc.ansible-playbook.ansible-vault.ansible-console.ansible-galaxy.ansible-pull,这些命令每个命令都有它独特的作用和用法,接下来我们一一来了解它的用法. 1.ansible-doc:这个命令主要作用是显示模块的帮助信息,有点类似Linux里的man命令. 命令用法: ansible-doc [options] [module...] 常用选项: -a:显示所有模块

【Absible学习】Ansible常用模块---命令类模块

command模块 command模块可以在远程主机上执行命令,在远程主机中执行命令时,不会经过远程主机的shell处理,如果需要执行的命令中含有重定向.管道符等操作,这些符号也会失效,比如"<", ">", "|", ";" 和 "&" ,如果远程节点是windows操作系统,则需要使用win_command模块. 模块参数 参数 说明 free_form 必须参数,指定需要远程执行的

DOS常用命令,及DOS下可运行程序命令

一.内部基本指令(文件操作) 1 dir 无参数:查看当前所在目录的文件和文件夹. /s:查看当前目录已经其所有子目录的文件和文件夹. /a:查看包括隐含文件的所有文件. /ah:只显示出隐含文件. /w:以紧凑方式(一行显示5个文件)显示文件和文件夹. /p:以分页方式(显示一页之后会自动暂停)显示. |more:前面那个符号是"\"上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数.more也是一个命令,dir /w |more 得到的结果和dir /w /

Ansible批量执行命令慢的解决思路

做运维的同学很多都用过ansible吧,开源批量部署工具排名前三的:puppet, saltstack, ansible. ansible的特点是没有agent,采用ssh协议来通讯,轻量级,采用python编写,既可以写playbook,也可以做一些ad-hoc的批量命令执行操作. 最近在两台ansible主机上执行ansible命令时发现对同样的客户机执行同样的命令,所用的时间相差却很大,两台ansible主机配置性能都一样.我感到很奇怪,于是想一探究竟. 当然首先是用time命令来查看准确

Ansible学习 ad-hoc命令

Ansible提供两种方式去执行命令,一种是ad-hoc命令,一种是写入Ansible playbook.类似于前者在命令行敲shell,后者是写shell-script脚本,前者解决一些简单的任务,后者执行较复杂的任务. ad-hoc命令格式:ansible <pattern_goes_here> -m <module_name> -a <arguments> pattern_goes_here:被管理的目标主机 module_name:使用的模块名,ansible中