ansible常用命令
2024-10-19 00:24:59
一、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, --sudo #sudo 到root用户,相当于Linux系统下的sudo命令
-U SUDO_USER, --sudo-user=SUDO_USER #sudo 到对应的用户
-K, --ask-sudo-pass #用户的密码(—sudo时使用)
-T TIMEOUT, --timeout=TIMEOUT # ssh 连接超时,默认 秒
-C, --check # 指定该参数后,执行 playbook 文件不会真正去执行,而是模拟执行一遍,然后输出本次执行会对远程主机造成的修改
-e EXTRA_VARS, --extra-vars=EXTRA_VARS # 设置额外的变量如:key=value 形式 或者 YAML or JSON,以空格分隔变量,或用多个-e
-f FORKS, --forks=FORKS # 进程并发处理,默认
-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
最新文章
- prototype继承(1)
- nginx和apache的比较
- C++十进制转换为二进制
- VS环境下搭建自己NuGet服务器
- DOS命令如何进入指定的下一级目录?
- sql中的系统表sysobjects以及如何查看sql语句的执行时间
- 及其简易的js 倒计时插件
- 如何debug android cts
- Maxiee的Vim入门日记(4)——安装windows下的Cscope
- Javascript 调试利器 Firebug使用详解
- H5手机开发锁定表头和首列(惯性滚动)解决方案
- java源码学习(二)Integer
- 【Spark-SQL学习之二】 SparkSQL DataFrame创建和储存
- sql存储过程,根据多个条件查询,返回一个dataTable或者DataSet
- 【AtCoder】ExaWizards 2019
- C#对接JAVA系统遇到的AES加密坑
- 格式化angularjs日期'/Date(-62135596800000)/'
- case insensitive in php
- 【Python52--爬虫1】
- Python的Beautiful Soup简单使用
热门文章
- jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
- ansible的delegate_to、connection、和local_action
- python全栈开发day103-python垃圾回收机制、mro和c3算法解析、跨域jsonp\CORS、Content-Type组件
- PHP 验证身份证
- 如果往错误的NEO地址转账会发生什么
- 在 CentOS7 安装 ELK
- 4、json-server的使用
- 书上关于*(p++)表达式的几种变形形式的思考题
- Linux下卸载Oracle 11g
- 【Java】递归递推的应用