ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本
1、语法检查的作用
在shell脚本中可以使用-n
来检查语法是否正确,通过语法检查可以大大的降低了脚本开发时间,那么作为一款热门的自动化工具,ansible
也支持语法检查,下面一起来了解一下。
2、如何进行语法检查
在ansible
中,我们可以通过剧本
去实现脚本
的一个功能,可以把剧本
理解为我们的Shell
脚本,大家都知道,写脚本难免会出现一些Bug之类的,而写剧本也同样会遇到这种情况,那么这时候通过语法检查就可以快速解决问题了。
语法如下:
ansible-playbook --syntax-check <ansible.yaml>
然后我们对下面这个剧本进行检查:
2.1、正确语法
- hosts: hello #使用的主机列表connection: ssh #连接方式remote_user: root #使用的远程用户tasks:- name: install git <name>yum: name=git,net-tools state=installed #安装git、net-tools- name: Unstaller mariadb <name>yum: name=mariadb-server state=installed #卸载mariadb-server
如果检查没问题,那么就会输出被检查的文件名,下面看一下错误语法
2.2、错误语法
- hosts: hello #使用的主机列表connection: ssh #连接方式remote_user: root #使用的远程用户tasks:- name: install git <name>yum: name=git,net-tools state=installed #安装git、net-tools- name: Unstaller mariadb <name>yu: name=mariadb-server state=installed #卸载mariadb-server
此时就会提示:
ERROR! no action detected in task. This often indicates a misspelled
module name, or incorrect
大致意思就是:
错误!在任务中未检测到操作。这通常表示模块名称拼写错误或不正确
然后提示是在第七行,也就是 - name: Unstaller mariadb <name>
出错了,我们仔细看就可以看到,我在第八行的模块写的是yu
,正确的应该是yum
,所以报错了,然后修改,继续检查
- hosts: hello #使用的主机列表connection: ssh #连接方式remote_user: root #使用的远程用户tasks:- name: install git <name>yum: name=git,net-tools state=installed - name: Unstaller mariadb <name>yum: name=mariadb-server state=installed
然后就成功了
3、执行剧本
执行剧本有两种方式,如下:
名称 | 作用 |
---|---|
伪执行ansible-playbook -C <file.yaml>
|
模拟执行,主要用于排错,不会产生实际影响 |
执行ansible-playbook <file.yaml>
|
直接执行 |
3.1、伪执行
ansible-playbook -C yum.yaml
执行效果
3.2、执行
ansible-playbook yum.yaml
执行效果
相关文章:
ansible从入门到入土:常用模块---->apt模块
ansible从入门到入土:教你如何编写ansible剧本实现yum安装软件
ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本
ansible从入门到入土:带你从安装到实现“hello world
ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本相关推荐
- ansible从入门到放弃
ansible简单入门 ansible的安装 由于ansible所在的源为epel源,所以需要先配置epel [root@localhost ~]# vi /etc/yum.repos.d/bp.re ...
- rocketmq怎么保证消息一致性_从入门到入土(三)RocketMQ 怎么保证的消息不丢失?...
精彩推荐 一百期Java面试题汇总SpringBoot内容聚合IntelliJ IDEA内容聚合Mybatis内容聚合 接上一篇:RocketMQ入门到入土(二)事务消息&顺序消息 面试官常常 ...
- Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)
文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 本来想着闲来无事,前面在项目中刚刚用到了工作流 Activit ...
- activiti api文档_【白银人机】Activiti 工作流从入门到入土:完整 hello world 大比拼(API 结合实例讲解)...
点击上方"好好学java",选择"置顶"公众号 重磅资源.干货,第一时间送达 重磅推荐 ① 纯福利 | 公众号资源大汇总,一年才一次! ② 重磅!!2018年 ...
- 从入门到入土(十)RocketMQ集群流程以及核心概念
精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:从入门到入土(九)手摸手教你搭建RocketMQ双主双从同步集群 ...
- 从入门到入土(九)手摸手教你搭建RocketMQ双主双从同步集群,不信学不会!...
精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:从入门到入土(八)RocketMQ的Consumer是如何做的负 ...
- 从入门到入土(八)RocketMQ的Consumer是如何做的负载均衡的
精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:RocketMQ入门到入土(七 )为什么同一个消费组设置不同ta ...
- RocketMQ入门到入土(七 )为什么同一个消费组设置不同tag会出现奇怪现象
精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:RocketMQ入门到入土(六)发消息的时候选择queue的算法 ...
- RocketMQ入门到入土(六)发消息的时候选择queue的算法有哪些?
精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:RocketMQ入门到入土(五)消息持久化存储源码解析 一.说明 ...
最新文章
- DataTable的Compute功能详解
- HDU5934(强连通分量)
- 华为云总裁郑叶来:易获取、用得起、方便用的算力是人工智能发展的关键
- git遇到的一些小问题
- oracle 06502 解决,ora-06502如何解决。。。
- Windows10熄屏自动断开WiFi连接解决方法
- CF889E-Mod Mod Mod【dp】
- 一段最短的代码,用上js所有关键字
- 【OpenCV学习笔记】【函数学习】十五(批量读入图片)
- html可视化编辑器 mac,Sparkle For Mac v2.8.11 强大的可视化网页编辑设计工具 _ 黑苹果乐园...
- Webx系列之文件上传
- js底层原理作用域和作用域链
- linux -m32,32位gcc和64位gcc与-m32选项有什么区别?
- C++ 实用趣味小程序
- 信息学奥赛一本通1055:判断闰年
- 从员工到总经理的成长笔记:自慢(6)
- 全网最火爆,最详细Docker与自动化测试讲解,看完觉得我又行了
- 【Writeup】第六季极客大挑战(部分题目)
- iapp上传图片到云函数
- 攻击CSK靶机环境并学习linux渗透思路
热门文章
- android 全面屏/刘海屏有效适配
- 亚马逊新品如何测款 怎样快速打造出爆款
- vscode 设置背景图片
- 3D LUT Creator Pro for mac V1.5.2中文版
- 吉利星瑞噪音分贝测试软件,吉利星瑞性能测试:确实是最好的自主A级车
- 单细胞分析实录(14): 细胞类型注释的另一种思路 — CellID
- 前端随笔--WEB中播放视频(JS实现)
- ft232电路ttl_FT232R 的串行 UART 接口解析
- 易语言高级表格写入MYSQL_易语言数据库与高级表格思路分析.doc
- ensp模拟器构建局域网络与使用模拟器接入互联网