当前位置: 首页 > news >正文

Ansible中的任务执行控制

循环

简单循环

{{item}} 迭代变量名称
loop:
- value1
- value2
- ...                 //赋值列表{{item}}        //迭代变量名称

循环散列或字典列表

- name: create filehosts: host1tasks:- name: file moudleservice:name: "{{ item.name }}"state: "{{ item.state }}"loop:- name: httpdstate: started- name: vsftpdstate: stopped
~

条件

when:- 条件1- 条件2

 

 条件判断

=	        //value == “字符串”,value == 数字	解释
<	        //value < 数字	
>	        //value > 数字	
<=	        //value <= 数字	
>=	        //value >= 数字	
!=	        //value != 数字	
is defined value	        //value is defined	变量存在
is not defined	            //value is not defined	变量不存在
in	            //value is in value	变量为
not in	            //value is not in value	变量不为
bool变量 为true	    value	    //value的值为true
bool变量 false	    not value	//value的值为false

 多条条件组合

when:条件1 and 条件2- 条件1- 条件2            //当条件1和条件2都为真when:条件1 or 条件2        //满足其中一个when: >条件1or条件2                //满足其中一个

 创建两个用户 user1 和 user2, user1 的 UID 是 6666,注释是 user1 commentuser2 的 UID 是 7777,没有注释。

vim userlist.yml
userlist:- name: user1id: 6666comment: user1 comment- name: user2id: 7777vim usercreate.yml
- name: create userhosts: allvars_files: ./userlist.ymltasks:- name: create user with commentuser:name: "{{item.name}}"uid: "{{item.id}}"comment: "{{item.comment}}"state: presentwhen: item.comment is definedloop:"{{userlist}}"- name: create user without commentuser:name: "{{item.name}}"uid: "{{item.id}}"state: presentwhen: item.comment is not definedloop:"{{userlist}}"

 

触发器

notify:         //触发器当遇到更改是触发handlers
handlers:             //触发器触发后执行的动作

 在指定的服务器上部署网站,并创建一个简单的主页

vim webs.yml
webs:- name: bbs.westos.orgdoc: /var/www/virtual/westos.org/bbs/htmlindex: "bbs.westos.org's page"- name: login.westos.orgdoc: /var/www/virtual/westos.org/login/htmlindex: "login.westos.org's page"- name: www.westos.orgdoc: /var/www/htmlindex: "www.westos.org's page"

 

vim html.j2
{% for web in webs %}
{% if web.name is not defined %}
<VirtualHost _default_:80>
{% elif web.name is defined %}
<VirtualHost *:80>ServerName {{web.name}}
{% endif %}DocumentRoot {{web.doc}}
</VirtualHost>
{% endfor %}

 

vim web.yml
- name: Create website index pagehosts: allvars_files: ./webs.ymltasks:- name: install httpdyum:name: httpdstate: present- name: serviceservice:name: httpdstate: startedenabled: no- name: Create index.html for each websitetemplate:src: ./html.j2dest: "/etc/httpd/conf.d/vhost.conf"notify: restart httpd- name: create directorylineinfile:path: "{{item.doc}}/index.html"line: "{{ item.index }}"create: yesloop: "{{webs}}"handlers:- name: restarted httpdservice:name: httpdstate: restarted

 

 

 

 

相关文章:

Ansible中的任务执行控制

循环 简单循环 {{item}} 迭代变量名称 loop: - value1 - value2 - ... //赋值列表{{item}} //迭代变量名称循环散列或字典列表 - name: create filehosts: host1tasks:- name: file moudleservice:name: "{{ item.name }}"state: "{{…...

利用maven的dependency插件分析工程的依赖

dependency:analyze https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html 分析项目的依赖&#xff0c;确定哪些&#xff1a;用了并且声明了、用了但没有声明、没有使用但声明了。 dependency:analyze可以单独使用&#xff0c;所以它总是会执行test-…...

【广州华锐互动】VR野外求生技能学习,让你感受真实的冒险之旅!

随着科技的迅速发展&#xff0c;虚拟现实(VR)技术为人们提供了一个全新的、身临其境的探险体验。通过将用户带入一个仿真的、沉浸式的虚拟环境&#xff0c;VR互动体验让人们在安全的氛围中感受到野外探险的乐趣。本文将从视觉呈现、沉浸式体验、交互性和应用范围四个方面&#…...

k8s、调度约束

Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和 Container。 APIS…...

Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍

目录 一. Redis简介 二. Redis的安装 2.1 Linux版安装 2.2 windows版安装 三. Redis的常用命令 一. Redis简介 Redis是一个开源&#xff08;BSD许可&#xff09;&#xff0c;内存存储的数据结构服务器&#xff0c;可用作数据库&#xff0c;高速缓存和消息队列代理。 它…...

电子器件 MOS管的参数、选型与使用技巧

一、电路符号 MOS管分为 G&#xff08;栅极&#xff09;、S&#xff08;源极&#xff09;、D&#xff08;漏极&#xff09; 三极&#xff0c;在图中 S 极有两条线&#xff0c;D 极只有一条线。 1.1 NMOS 和 PMOS 下图中&#xff0c;左侧是 PMOS&#xff0c;右侧是 NMOS。箭头…...

EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析

EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析 一 ethercatbase.h/c文件功能预览&#xff1a;二 ethercatbase.h/c 文件的主要函数的作用&#xff1a;2.1 ecx_writedatagramdata&#xff1a;2.2 ecx_setupdatagram&#xff1a;2.3 ecx_adddatagram&#xff1a;2.4 …...

Spring集成高性能队列Disruptor

Disruptor简介 Disruptor&#xff08;中文翻译为“破坏者”或“颠覆者”&#xff09;是一种高性能、低延迟的并发编程框架&#xff0c;最初由LMAX Exchange开发。它的主要目标是解决在金融交易系统等需要高吞吐量和低延迟的应用中的并发问题。 Disruptor特点 无锁并发&#x…...

C++——类和对象(中)完结

赋值运算符重载 运算符重载 C 为了增强代码的可读性引入了运算符重载 &#xff0c; 运算符重载是具有特殊函数名的函数 &#xff0c;也具有其 返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键…...

Sqoop的安装和使用

目录 一.安装 二.导入 1.全量导入 一.MySQL导入HDFS 二.MySQL导入Hive 2.增量导入 一.过滤导入hdfs/hive 二.导出 一.安装 1.下载地址&#xff1a;sqoop下载地址 2.解压 tar -zxvf ./sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ../module/ 3.改名和配置归属权限 #改名…...

java毕业设计基于springboot+vue的村委会管理系统

项目介绍 采用JAVA语言&#xff0c;结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。本村委会管理系统主要包括个人中心、村民管理、村委会管理、村民信息管理、土地变更管理、农业补贴管理、党员信息管理等多个模块。它帮助村委会管理实现了信息化、网络化&#xf…...

【C++】多态 ⑪ ( 纯虚函数和抽象类 | 纯虚函数语法 | 抽象类和实现 | 代码示例 )

文章目录 一、纯虚函数和抽象类1、纯虚函数2、纯虚函数语法3、抽象类和实现 二、完整代码示例 一、纯虚函数和抽象类 1、纯虚函数 纯虚函数 : 在 C 语言中 , " 纯虚函数 " 是 特殊类型的 虚函数 , " 纯虚函数 " 在 父类 中 声明 , 但是没有实现 ; 抽象类 …...

node 第十四天 基于express的第三方中间件multer node后端处理用户上传文件

Multer 是一个 node.js 中间件&#xff0c;用于处理multipart/form-data 类型的表单数据&#xff0c;它主要用于上传文件。它是写在 busboy 之上的所以非常高效。前面我们已经知道了怎样利用express提供的静态资源处理中间件express.static()处理用户请求静态资源文件(图片, js…...

KnowledgeGPT:利用检索和存储访问知识库上增强大型语言模型10.30

利用检索和存储访问知识库上增强大型语言模型 摘要引言2 相关研究3方法3.1 任务定义3.2 知识检索3.2.1 代码实现3.2.2 实体链接3.2.3 获取实体信息3.2.4 查找实体或值3.2.5 查找关系 3.3 知识存储 4 实验4.1 实验设置4.2 流行知识库上的查询4.3 基于知识的问题回答 摘要 大型语…...

Angular material Chips Autocomplete

Chips Autocomplete 官网的例子我没法正常使用&#xff0c;无法实现搜索 我的select是个通用组件&#xff0c;现在贴代码&#xff1a; component.ts import {Component,ElementRef,forwardRef,Input,OnChanges,OnDestroy,OnInit,SimpleChanges,ViewChild, } from angular/co…...

『亚马逊云科技产品测评』活动征文|搭建基础运维环境

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 目录 1、什么是容器化部署 2、连接到控制台 3、安装docker 3.1 更新…...

双指针扫描

import os import sys# 请在此输入您的代码 sinput() Alist(s) nlen(A) t1 for i in range(n//2):if A[i]!A[n-1-i]:t0break if t1:print(Y) else:print(N)n,smap(int,input().split()) alist(map(int,input().split())) #尺取法&#xff0c;变O(n*n)为O(n) #维护一个最短的区间…...

uniapp小程序九宫格抽奖

定义好奖品下标&#xff0c;计时器开始抽奖&#xff0c;请求接口&#xff0c;出现中奖奖品之后&#xff0c;获取中奖商品对应的奖品下标&#xff0c;再次计时器判断当前移动的小标是否为中奖商品的下标&#xff0c;并且是否转到3圈&#xff08;防止转1圈就停止&#xff09;&…...

mysql树状结构查询及注意事项

一、说明 由于Mysql不像oracle一样支持树状查询&#xff0c;需要用户自行处理&#xff0c;本文记录了一种常见的通过自定义函数的方式进行mysql树状查询的方法&#xff0c;以及使用的注意事项。 二、函数 CREATE DEFINERrootlocalhost FUNCTION get_child_menus(in_pid varc…...

TimeGPT-1——第一个时间序列数据领域的大模型他来了

一直有一个问题:时间序列的基础模型能像自然语言处理那样存在吗?一个预先训练了大量时间序列数据的大型模型&#xff0c;是否有可能在未见过的数据上产生准确的预测?最近刚刚发表的一篇论文&#xff0c;Azul Garza和Max Mergenthaler-Canseco提出的TimeGPT-1&#xff0c;将ll…...

深入Keil5编译器:解读#1295-D警告背后的C语言函数原型进化史

深入Keil5编译器&#xff1a;解读#1295-D警告背后的C语言函数原型进化史 当你在Keil5环境下打开一个遗留的单片机项目时&#xff0c;那个看似微不足道的#1295-D: Deprecated declaration警告可能正暗示着一段跨越四十年的编程语言进化史。这个关于函数声明的警告不是Keil5的任…...

万物智联城市:TurMass™ Mesh 打造稳定可靠的物联底座

随着数字中国建设深入推进&#xff0c;智慧城市已从概念落地为城市治理与民生服务的现实场景。从市政设施智能运维、公共安全全域感知&#xff0c;到环境监测精准布控、便民服务高效触达&#xff0c;城市运行的每一环都离不开稳定、高效、低成本的物联网连接支撑。然而&#xf…...

电脑安装双系统

电脑安装双系统 本次是在Windows 10的环境下安装Ubuntu的系统。 1、可能需要的准备工作 首先打开cmd输入msinfo32的命令查看电脑的BIOS的模式是不是UEFI,如下所示&#xff1a; 本次安装系统基于以上的BIOS模式下。此外如果遇到安装之后不能跳转到ubuntu系统的问题&#xff…...

别再用默认筛选器了!用Tableau集和计算字段打造“老板最爱看”的交互仪表板

别再用默认筛选器了&#xff01;用Tableau集和计算字段打造“老板最爱看”的交互仪表板 每次给管理层汇报数据时&#xff0c;最怕遇到什么场景&#xff1f;当你精心准备了20页分析报告&#xff0c;老板却直接翻到最后一页说&#xff1a;"我只关心A事业部和B事业部的表现&a…...

微积分入门书籍之高考篇

导数的秘密&#xff08;第二版&#xff09;-2021.01 高考导数满分精讲&#xff08;2021&#xff09; 高考导数探秘&#xff1a;解题技巧与策略 董晟渤&#xff08;2024.10&#xff09; 微积分与高考数学&#xff08;第2版&#xff09;-2024 高考导数解题全攻略&#xff08;2024…...

RedisDesktopManager Windows版:5步打造高效Redis数据库管理体验

RedisDesktopManager Windows版&#xff1a;5步打造高效Redis数据库管理体验 【免费下载链接】RedisDesktopManager-Windows RedisDesktopManager Windows版本 项目地址: https://gitcode.com/gh_mirrors/re/RedisDesktopManager-Windows RedisDesktopManager Windows版…...

从OpenMV2到4代,我踩过的那些坑:画面变绿、传感器接触不良与内存擦除的避坑实录

从OpenMV2到4代&#xff1a;硬件升级中的稳定性挑战与实战解决方案 作为一名长期使用OpenMV系列开发视觉项目的工程师&#xff0c;我从OpenMV2一路升级到4代&#xff0c;见证了硬件性能的飞跃&#xff0c;也深刻体会到稳定性问题带来的困扰。其中最令人头疼的莫过于"画面变…...

GD32C103RBT6 I2C 驱动全解析

一、I2C 通信基础概述 1. I2C 硬件接口 GD32C10x 提供 I2C0、I2C1 两组硬件 I2C: SCL:串行时钟线(由主机产生) SDA:串行数据线 需外接 上拉电阻(4.7kΩ 经典值) 支持 多主机、多从机 2. 通信模式 主机模式:MCU 主动发起通信(最常用) 从机模式:MCU 被其他主机访问 …...

DWC_ether_qos驱动软复位实战:解决网络丢包与DMA死锁

1. 项目概述&#xff1a;从一次诡异的网络丢包说起最近在调试一块基于某款主流SoC的工控板卡时&#xff0c;遇到了一个让人头疼的问题&#xff1a;设备在长时间高负载运行后&#xff0c;网络会间歇性地出现严重丢包&#xff0c;甚至完全断连。重启网络服务能暂时恢复&#xff0…...

fastAPI的依赖注入 与 .net Core的依赖注入区别

...