【2023】ansible-基本任务控制
创始人
2024-06-03 15:57:58
0
- 本文主要讲述了when、loop、handlers的含义及应用场景
- 并为每种语句配上示例
- 编写不易,感谢动动小手!!!!!!

目录

    • 💕when:条件语句
      • 示例:通过fact变量判断系统为centos时安装nginx
      • 示例:为特定的主机添加Nginx仓库
    • 💕loop:循环语句
      • 示例:依次启动多个服务
      • 示例:拷贝文件到不同目录
    • 💕handlers:触发器
      • 示例:一个安装nginx的案例

💕when:条件语句

when 是一种条件语句,用于在任务执行之前检查某些条件是否为真。当条件为真时,任务将被执行;当条件为假时,任务将被跳过。

when 语句可用于各种场景,例如:

  • 操作系统特定的任务:当任务仅适用于特定的操作系统时,可以使用 when 语句根据操作系统类型来跳过任务。

  • 主机属性:当主机的某些属性符合条件时,可以使用 when 语句来执行任务,例如主机的 IP 地址、主机名等。

  • 变量值:当变量符合条件时,可以使用 when 语句来执行任务。

  • 环境:当处于特定环境时,可以使用 when 语句来执行任务。例如,在测试环境中运行的任务可能与在生产环境中运行的任务不同。

  • 其他条件:当任务只有在满足一定条件时才需要执行时,可以使用 when 语句来控制任务的执行。

示例:通过fact变量判断系统为centos时安装nginx

- hosts: alltasks:- name: Installed nginxyum: name: nginxstate: presentwhen: (ansible_distribution == "CentOS")

示例:为特定的主机添加Nginx仓库

- hosts: alltasks:- name: ADD nginx yum repositoryyum_repository:name: nginxdescription: Nginx Repositorybaseurl: http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck: nowhen: (ansible_hostname is match("web*"))

💕loop:循环语句

loop 是一种循环语句,用于在一组值上迭代执行任务。

loop 语句可用于各种场景,例如:

  • 配置多个主机:当需要在多个主机上执行相同的任务时,可以使用 loop 语句遍历主机列表,并在每个主机上执行相同的任务。

  • 配置多个用户:当需要在多个用户上执行相同的任务时,可以使用 loop 语句遍历用户列表,并在每个用户上执行相同的任务。

  • 安装多个软件包:当需要在多个主机上安装多个软件包时,可以使用 loop 语句遍历软件包列表,并在每个主机上安装相同的软件包等等… …

示例:依次启动多个服务

- hosts: alltasks:name: Started serversystemd:name: "{{ item }}"state: startedloop:- nginx- php-fpm

示例:拷贝文件到不同目录

- hosts: alltasks:name: Copy filescopy:src: "{{ item.src }}"dest: "{{ item.dest }}"loop:- { src: "file1" , dest: "/dir1" }- { src: "file2" , dest: "/dir2" }

💕handlers:触发器

Handlers 是一种特殊的任务类型,它们通常用于在任务执行后执行特定的操作,比如重新启动服务或重新加载配置文件等。

示例:一个安装nginx的案例

注意:notify的名字要和handlers中的name名字完全一致。

- name: Install and configure Nginxhosts: web_serverstasks:- name: Install Nginxyum:name: nginxstate: present- name: Configure Nginxtemplate:src: nginx.conf.j2dest: /etc/nginx/nginx.confnotify: Restart Nginxhandlers:- name: Restart Nginxservice:name: nginxstate: restarted

本文结束!

请添加图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...