Ansible服务常用命令模块详细解析

ansible可以使用命令行方式进行自动化管理,基本语法如下:

ansible 主机名 -m 模块名称 -a 模块特有参数

ansible的命令行管理工具都是由一系列模块、参数所支持的,可以在命令后面加上-h或--help获取帮助。如使用ansible-doc -h或者ansible-doc --help查看其帮助信息

ansible-doc是用来查看模块帮助信息的工具,最主要的选项 -l用来列出可使用的模块, -s用来列出某个模块的描述信息和使用示例。

以下是我列出yum模块的描述信息和操作动作:

[root@promote ~]# ansible-doc -s yum
- name: Manages packages with the `yum' package manager
  yum:
      allow_downgrade:      # Specify if the named package and version is
                              allowed to
                              downgrade a maybe
                              already installed
                              higher version of
                              that package.
                              Note that setting
                              allow_downgrade=T
                              rue can make this
                              module behave in
                              a non-idempotent
                              way.

Ansible自带了很多模块,能够下发执行Ansible的各种管理任务。下面我列出一些较为常用的模块。
1 command模块
ansible管理工具使用-m选项来指定使用模块,默认使用command模块,即-m选项省略时会运行次模块,用于在被管理主机上运行命令

[root@promote ~]# ansible-doc -s command
- name: Executes a command on a remote node
  command:
      argv:                  # Allows the user to provide the command as a list
                              vs. a string.
                              Only the string
                              or the list form
                              can be provided,
                              not both.  One or
                              the other must be
                              provided.
      chdir:                # Change into this directory before running the
                              command.
      creates:              # A filename or (since 2.0) glob pattern. If it
                              already exists,
                              this step *won't*
                              be run.

ansible-doc -l    #列出所有已安装的模块 注:按q退出
ansible-doc -s yum    #-s列出yum模块描述信息和操作动作
ansible 192.168.199.130 -m command -a 'date'    #指定IP执行date
ansible web -m command -a 'date'    #指定分类执行date
ansible all -m command -a 'date'    #所有hosts主机执行date
ansible all -a 'ls /'    #如果不加-m模块,则默认运行command模块

下面我在ansible服务器上执行‘date’命令来查看被管理主机的时间:

[root@promote ~]# ansible all -a 'date'
192.168.199.131 | CHANGED | rc=0 >>
2018年 10月 22日 星期一 22:35:53 CST

192.168.199.130 | CHANGED | rc=0 >>
2018年 10月 22日 星期一 22:35:53 CST

2 cron 模块
Ansible中的cron模块用于定义计划任务。其中两种状态(state):present表示添加(省略状态时默认使用),absent表示移除

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/18866a283c06ff4c51d1bfc086a35575.html