zoukankan      html  css  js  c++  java
  • ansible常用命令

    一、ansible常用命令

      一、ansible命令的常用参数

      ansible 默认提供了很多模块来供我们使用。在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s  模块名  又可以查看该模块有哪些参数可以使用。

      1、命令语法

    ansible '*' -m command -a 'uptime'
    
    '*':自己定义的主机       -m command:命令  

      2、命令常用参数

    # 指定节点上的权限,属主和数组为root
    
    ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"
    
    #指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间
    
    ansible '*' -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'
    
    # 指定节点上创建一个组名为aaa,gid为2017的组
    
    ansible all -m group -a 'gid=2017 name=a'
    
    # 在节点上创建一个用户aaa,组为aaa
    
    ansible all -m user -a 'name=aaa groups=aaa state=present'
    
    删除用户示例
    
    ansible all -m user -a 'name=aaa groups=aaa remove=yes'
    
    # 在节点上安装httpd
    
    ansible all -m yum -a "state=present name=httpd"
    
    # 在节点上启动服务,并开机自启动
    
    ansible all -m service -a 'name=httpd state=started enabled=yes'
    
    # 检查主机连接
    
    ansible '*' -m ping
    
    # 执行远程命令
    
    ansible '*' -m command -a 'uptime'
    
    # 执行主控端脚本
    
    ansible '*' -m script -a '/root/test.sh'
    
    # 执行远程主机的脚本
    
    ansible '*' -m shell -a 'ps aux|grep zabbix'
    
    # 类似shell
    
    ansible '*' -m raw -a "ps aux|grep zabbix|awk '{print $2}'"
    
    # 创建软链接
    
    ansible '*' -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link"
    
    # 删除软链接
    
    ansible '*' -m file -a "path=/tmp/resolv.conf state=absent"
    
    # 复制文件到远程服务器
    
    ansible '*' -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644"
    
    # 在节点上运行hostname
    
    nsible all -m raw -a 'hostname|tee'
    
    # 将指定url上的文件下载到/tmp下
    
    ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'

      二、ansible-playbook的常用参数

      1、命令语法

    ansible-playbook playbook.yml [options]

      2、命令的常用参数

    -u REMOTE_USER, --user=REMOTE_USER # ssh 连接的用户名 
    -k, --ask-pass #ssh登录认证密码 
    -s, --sudosudo 到root用户,相当于Linux系统下的sudo命令 
    -U SUDO_USER, --sudo-user=SUDO_USER #sudo 到对应的用户 
    -K, --ask-sudo-pass #用户的密码(—sudo时使用) 
    -T TIMEOUT, --timeout=TIMEOUT # ssh 连接超时,默认 10-C, --check # 指定该参数后,执行 playbook 文件不会真正去执行,而是模拟执行一遍,然后输出本次执行会对远程主机造成的修改 -e EXTRA_VARS, --extra-vars=EXTRA_VARS # 设置额外的变量如:key=value 形式 或者 YAML or JSON,以空格分隔变量,或用多个-e -f FORKS, --forks=FORKS # 进程并发处理,默认 5 -i INVENTORY, --inventory-file=INVENTORY # 指定 hosts 文件路径,默认 default=/etc/ansible/hosts -l SUBSET, --limit=SUBSET # 指定一个 pattern,对- hosts:匹配到的主机再过滤一次 --list-hosts # 只打印有哪些主机会执行这个 playbook 文件,不是实际执行该 playbook --list-tasks # 列出该 playbook 中会被执行的 task --private-key=PRIVATE_KEY_FILE # 私钥路径 --step # 同一时间只执行一个 task,每个 task 执行前都会提示确认一遍 --syntax-check # 只检测 playbook 文件语法是否有问题,不会执行该 playbook -t TAGS, --tags=TAGS #当 play 和 task 的 tag 为该参数指定的值时才执行,多个 tag 以逗号分隔 --skip-tags=SKIP_TAGS # 当 play 和 task 的 tag 不匹配该参数指定的值时,才执行 -v, --verbose #输出更详细的执行过程信息,-vvv可得到所有执行过程信息。

       更详细链接:http://blog.51cto.com/dengxi/1733536

        

  • 相关阅读:
    SSISDB8:查看SSISDB记录Package执行的消息
    MongoDB 分片管理
    MongoDB 数据分发
    MongoDB 搭建分片集群
    WaitType:ASYNC
    Design6:选择合适的数据类型
    Performance Monitor4:监控SQL Server的IO性能
    Performance Monitor1:开始性能监控
    Performance Monitor2:性能计数器
    Neo4j 第五篇:批量更新数据
  • 原文地址:https://www.cnblogs.com/happy-king/p/9482902.html
Copyright © 2011-2022 走看看