Ansible 学习记录 (三)命令详解

ansible 命令详解:
  Usage: ansible <host-pattern> [options]

example:

  ansible 192.168.134.202 -m command -a "ls /tmp/zhangfengxue.yml" -k

  ##远程执行ls命令并询问密码;



 

Options:
  -a MODULE_ARGS   #模块执行参数
  --ask-vault-pass   #询问ansible的加密密码 
  --extra-vars=EXTRA_VARS  #命令行中使用扩展变量
  --forks=FORKS  #配置并发数 (default=5)
  --inventory-file=INVENTORY  #命令行转载主机列表文件 (default=/etc/ansible/hosts)
  --list-hosts  #输出匹配的主机列表,不执行任何动作
  -m MODULE_NAME  #指定执行的ansible命令模块  (default=command)
  -M MODULE_PATH  #指定模块路径  (default=None)
  --syntax-check  #进行语法检查,不执行
  --tree=TREE  #输出日志到这个目录中
  --vault-password-file=VAULT_PASSWORD_FILE  #指定加密文件

  -v, -vvv , -vvvv  #输出信息,输出详细信息,输出debug信息

  --version  #显示程序版本号,并退出



 

Connection Options:
  -k, --ask-pass  #询问连接密码

  -u REMOTE_USER, --user=REMOTE_USER  #指定连接用户 connect as this user (default=None)



 

Privilege Escalation Options:

  -s, --sudo  #使用sudo在远程主机执行
  -U SUDO_USER, --sudo-user=SUDO_USER  #在远程主机sudo成什么用户身份执行命令; (default=root) (deprecated, usebecome)
  -S, --su  # 使用su 方式在远程主机切换身份
  -R SU_USER, --su-user=SU_USER  #使用su切换成那个用户身份执行;
  -b, --become  #变成那个用户身份,不提示密码

  --become-method=BECOME_METHOD  #以那种方式进行切换;(default=sudo)
            valid choices: [ sudo | su | pbrun | pfexec | doas |dzdo | ksu ]
  --become-user=BECOME_USER  #变成什么用户 (default=root)
  --ask-sudo-pass  #询问 sudo password (deprecated, use become)
  --ask-su-pass  #询问 su password (deprecated, use become)
  -K, --ask-become-pass  #询问 privilege escalation password



Ansible 命令执行过程

  1、加载自己的配置文件,默认:
  2、加载自己对应的模块文件
  3、通过ansible将模块或命令生产对应的临时.py文件,并将该文件传输至远程服务器对应执行用户的家目录的.ansible/tmp/***/***.py
  4、给py文件+x 执行权限
  5、执行完成后并返回结果到ansible-server
  6、客户但删除临时py文件,sleep e 退出



Ansible 核心组件
  ansible playbook:任务剧本,定义、编排ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的YML文件
      inventory:ansible管理的主机清单,/etc/ansible/hosts
       modules:ansible执行功能的模块,多为核心模块,也可自定义
      plugins:模块功能的补充
        api:供第三方调用的应用程序接口
      ansible:与其他命令组合使用,定位是核心执行工具



ansible-doc 命令:

  选项:
     -h  --help    显示此帮助信息并退出
     -l   --list      列出可用的模块
     -s,--snippet   显示指定模块的playbook片段
     -v,--verbose  详细模式(-vvv为更多,-vvvv启用debug)
     -version      显示程序的版本号并退出

操作样例:

  # ansible-doc file

  # ansible-doc -s file



ansible-galaxy  命令

  Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...

Options:
  -h, --help show this help message and exit
  -v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging)
  --version show program's version number and exit

操作样例:

  ansible-galaxy install username.rolename



# ansible-console
Welcome to the ansible console.
Type help or ? to list commands.

root@all (7)[f:5]$

注解:临时任务发布的控制台,可以指定并发数;

 

posted @ 2018-01-31 14:04  血与火的洗礼  阅读(598)  评论(0编辑  收藏  举报