ansible-playbook 使用详解
1. playbook参数详解:
hosts:hosts 用于指定要执行指定任务的主机其可以是一个或多个由冒号分隔主机组。 user:root 指定远程主机上执行任务的用户 remote_user:root vars:变量 tasks:任务 - name:描述 module:options 如:serverice name=httpd state=running shell:/sbin/setenforce 0 handlers:触发条件 files:文件赋权 template:模板
tags 用于让用户选择运行或略过playbook中的部分代码。ansible具有幂等性因此会自动跳过没有变化的部分即便如此有些代码为测试其确实没有发生变化的时间依然会非常地长。
此时如果确信其没有变化就可以通过tags跳过此些代码片断。
循环:
循环with_items: --- - hosts: testhost user: root tasks: - name: change mod for file file: path=/tmp/{{ item }} mode=600 owner=root group=root with_items: - 1.txt - 2.txt - 3.txt
条件判断使用handlers模块:
--- - hosts: testhost remote_user: root tasks: - name: test copy copy: src=/tmp/1.txt dest=/tmp/2.txt notify: test handlers handlers: - name: test handlers shell: echo "111111" >> /tmp/2.txt
如果要使用handlers模块,则需要调用notify: test handlers是handlers模块的name,要保持一致。
从ansible主上拷贝1.txt到远程服务器2.txt,只有到copy完成了,才会执行handlers。
条件判断条件when:
--- - hosts: testhost remote_user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt when: ansible_system_vendor == "IBM"
注意变量要写对,不能写数组,数组的要注意.
cat /tmp/when.yml :

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
把变砖的Linksys-AC1900路由器救活
今天先不写WLAN学习心得了, 写一篇自己试水DD-WRT的帖子。这个也可以作为 前两天心血来潮想试试dd-wrt的版本,没成想一不小心把好好的Linksys-AC1900的路由器给变砖了。无奈,怎么着也得试试把它给救回来吧。看了一些帖子,试了一些方法,最后终于成功了。下面记录下自己的操作过程。 变砖的现象:上传Linksys-AC1900 dd-wrt 的镜像,重启之后,路由器在开机时只有eSATA和电源灯点亮,其他灯一律不亮,三秒钟之后,eSATA灯也熄灭,只剩电源灯闪烁。接上网线,电脑无法从路由器获取IP地址,设置静态IP给电脑,试图ping 192.168.1.1, 没有echo。尝试多次,30-30-30 方法不成功,软硬恢复出厂设置均不成功。 救回工具: 电脑一台 USB转TTL调试线一条 事先下载的原装出厂镜像 恢复方法: 链接USB-TTL调试线到路由器,路由器务必先要断电,然后参照上面提到的连接方式连接。 连接电脑到路由器LAN口,并设置电脑为静态IP:192.168.1.2,(255.255.255.0/192.168.1.1.) 打开TFTP工具,选择工具默认网口...
- 下一篇
NLog在asp.net core中的应用
Asp.net core中,自带的Log是在当selfhost运行时,在控制台中输出,不便于查阅,如果用一个log架框,把日志持久化,便于查询. NLog是一个免费的日志记录框架,专门为.net平台下的框架提供日志功能,本文主要说明asp.net core下怎么使用NLog。 首先用Nuget安装NLog.Extensions.Logging和NLog.Web.AspNetCore两个类库。 修改project.json,在publishOptions中添加”nlog.config节点” "publishOptions":{ "include":[ "wwwroot", "**/*.cshtml", "appsettings.json", "web.config", "nlog.config" ] } 在StartUp.cs中添加 publicvoidConfigureServices(IServiceCollectionservices) { //Addframeworkservices. services.AddMvc(); //为NLog.web注入HttpContextAcc...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池