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

网站漏洞解决wordpress 商城 app

网站漏洞解决,wordpress 商城 app,wordpress博客导航开源主题,沈阳建站多少钱自动化运维-ansible中的变量运用 一、变量命名规则 组成:字母、数字、下划线。必须以字母开头。 合法: app_port, web_1, varA非法: 2_var (以数字开头), my-var (包含其他字符), _private (以下划线开头) 避免使用内置关键字:例如 hosts, tasks, name, …

自动化运维-ansible中的变量运用

一、变量命名规则

  • 组成:字母、数字、下划线。
  • 必须字母开头。
    • 合法: app_port, web_1, varA
    • 非法: 2_var (以数字开头), my-var (包含其他字符), _private (以下划线开头)
  • 避免使用内置关键字:例如 hosts, tasks, name, vars, when, register 等。

二、变量的优先级

  1. Global范围(高):从命令行和ansible配置设置的变量
  2. play范围(中):set_fact、register和在play和相关结构中设置的变量
  3. Host范围(低):inventory、facts的变量,在主机组和个别主机上设置的变量

命令行 > Playbook 中的设置 > Inventory 中的设置 > 角色默认值

越“具体”的设置,优先级越高

三、注册和定义变量的各种方式

  1. vars 定义变量
  2. Vars_files 定义变量
  3. register 注册变量
  4. set_fact 定义变量
  5. 通过命令传入变量
  6. 主机清单中的变量
  7. 内置变量
  8. With_itens 叠加变量

四、对各种方式的示例

  1. vars 定义变量

    [student@master ansible] vim a.yml
    # 编辑内容如下
    ---
    - name: test1hosts: node1vars:- a: 1- b: 2- c:c1: 3c2: 4tasks:- name: test11debug:msg: this is {{ a }}- name: test12debug:msg: "{{ b }}"- name: test13debug:msg: "{{ c.c1 }}"- name: test14debug:var: c.c2
    

    在这里插入图片描述

  2. Vars_files 定义变量

    [student@master ansible] vim yyy
    # 编辑内容如下
    a: 1
    b: 2
    c: c1: 3c2: 4
    
    [student@master ansible] vim b.yml
    # 编辑内容如下
    ---
    - name: test2hosts: node1vars_files: /home/student/ansible/yyytasks:- name: test21debug:msg: this is {{ a }}- name: test22debug:msg: "{{ b }}"- name: test23debug:msg: "{{ c.c1 }}"- name: test24debug:var: c.c2
    

    在这里插入图片描述

  3. register 注册变量

    使⽤register选项,可以将当前task的输出结果赋值给⼀个变量

    以下示例:/tmp/file1 的内容为 123321 ,/tmp/file11 不存在

    [student@master ansible] vim c.yml
    # 编辑内容如下
    ---
    - name: test3hosts: node1tasks:- name: test31shell:cmd: cat /tmp/file1register: yy- name: test32debug:var: yy.stdout- name: test33shell:cmd: cat /tmp/file11register: yyyyignore_errors: yes- name: test34debug:var: yyyy.stdout
    

    在这里插入图片描述

    如图所示:无论输出结果是否正确,都会赋值给自定义的变量

  4. set_fact 定义变量

    可以将某个变量的值赋值给另⼀个变量,也可以将字符串赋值给变量

    事实变量是 Ansible 自动发现并设置的关于受控主机的系统信息属性的变量

    每个主机都有自己独有的一套事实变量,是Ansible预定义的,有固定的命名格式(通常以 ansible_ 为前缀),你不能随意改变这些变量的名字

    [student@master ansible] ansible node1 -m setup > z
    

    使用 ansible 主机名 -m setup 可以查看主机的所有事实变量

    为了方便查找,一般会重定向到自定义的文件中

    常用变量名对应的含义
    ansible_default_ipv4.addressipv4地址
    ansible_enp1s0.ipv4.addressansible_网卡名称.ipv4.address
    ansible_fqdn完全合格域名(FQDN)
    ansible_hostname主机名称
    ansible_memtotal_mb内存大小
    ansible_bios_versionbios版本
    ansible_devices.vda.sizevda硬盘大小
    ansible_devices.vdb.sizevdb硬盘大小
    ansible_lvm.vgs逻辑卷中卷组
    [student@master ansible] vim d.yml
    # 编辑内容如下
    ---
    - name: test4hosts: node1tasks:- name: test41debug:msg: the ipv4 address of {{ ansible_hostname }} is {{ ansible_default_ipv4.address }}
    

    在这里插入图片描述

  5. 通过命令传入变量

    [student@master ansible] vim e.yml
    # 编辑内容如下
    ---
    - name: test5hosts: node1tasks:- name: test51debug:msg: this is {{ aa }}- name: test52debug:var: bb
    

    在这里插入图片描述

  6. 主机清单中的变量

    在主机清单中定义变量

    [student@master ansible] vim inventory
    # 编辑内容如下
    node5[testa]
    node1
    node2[testa:vars]
    var1='ni'
    var2='hao'[testb]
    node3
    node4
    
    [student@master ansible] vim f.yml
    # 编辑内容如下
    ---
    - name: test6hosts: node1tasks:- name: test61debug:msg: "{{ var1 }}"- name: test62debug:msg: var2
    

    在这里插入图片描述

    除了可以在主机清单里定义变量外,还可以在 /etc/ansible(root用户)或 /home/用户名/ansible(普通用户) 目录下创建group_vars和host_vars目录下定义变量

    node1文件名以主机命名,还可以命名为node1.yml

    [student@master ansible] mkdir host_vars
    [student@master host_vars] vim node1
    [student@master host_vars] vim node1.yml
    
    # 在 node1 中编辑内容如下
    var1: t1
    var2: t2# 在 node1.yml 中编辑内容如下
    var1: t3
    var2: t4
    

    编辑 playbook ,看输出变量的值

    [student@master ansible] vim g.yml
    # 编辑内容如下
    ---
    - name: test7hosts: node1tasks:- name: test71debug:msg: "{{ var1 }}"- name: test72debug:var: var2

    在这里插入图片描述

    发现输出结果为 node1 中定义的值

    如果node1与node1.yml同时存在,则 node1的优先级更高

    除了在 host_vars 目录下,在 group_vars 目录下也同理

    如果 host_vars 目录和 group_vars 目录同时存在,则 host_vars 的优先级更高

  7. 内置变量

    是 Ansible 自动预定义和设置的变量。你无需使用 set_factvars 来声明它们

    为你提供关于当前运行环境、Inventory(清单)、Playbook 本身以及连接信息等重要上下文

    常用变量名对应作用
    ansible_version显示ansible的版本
    inventory_hostname显示主机清单主机名称
    play_hosts显示当前playbook实际要操作的所有主机的列表
    groups显示主机清单中的组与主机的对应关系
    groups.all显示所有清单主机
    group_names显示主机的主机组的名称
    inventory_dir显示主机清单所在的目录
  8. With_itens 叠加变量

    可以给一个变量赋予多个值

    让一个任务对列表中的每个项目执行一次

    [student@master ansible] vim h.yml
    # 编辑内容如下
    ---
    - name: test8hosts: node1tasks:- name: test81shell:cmd: echo "{{ item }}"with_items:- user1- user2- user3register: xx- name: test82debug:var: xx.results[0].stdout- name: test83debug:var: xx.results[1].stdout- name: test84debug:var: xx.results[2].stdout
    

    在这里插入图片描述

http://www.dtcms.com/a/459896.html

相关文章:

  • 网站建设面试专门做瑜伽的网站
  • 关于网站建设的新闻php免费开源cms系统
  • 上海网站搜索引擎优化wordpress 导航栏 搜索
  • 外贸自己做网站好不好用手机建网站
  • 网站维护运营怎么做沈阳德泰诺网站建设
  • 西安免费公司网站设计郴州网站建设推广公司
  • 网站开发工作流程邯郸哪儿做网站好
  • 建网站 需要签署协议阿里云里做网站能上百度首页么
  • 做英剧网站的目的o2o网站建设哪家好
  • 餐饮企业网站开发背景站长工具app官方下载
  • 荆州做网站的公司微信外卖小程序加盟
  • 网站备案 山东核验点创业网站建设怎么样
  • 做网站html河北石家庄是几线城市
  • 诚信档案建设网站怎样开发一个app软件
  • 自己做的网站怎么添加文档怎么做站旅游网站上泡到妞
  • 番禺网站制作多少钱个人公众号怎么开通
  • 网站建设业动态中山建设工程有限公司
  • 电子商务网站建设与实践商城网站的建设定位
  • 微信里的商家链接网站怎么做的做网站记什么科目
  • 温州的网站设计网站建设设计总结
  • 泗阳建设局网站内容管理系统软件
  • 怎么把网站链接做二维码高端人才招聘网站
  • 做二手车有哪些网站有哪些一万并发量的视频网站建设
  • 城网站建设提供定制型网站建设
  • 网站后台管理破解网站建设与运营市场风险
  • 深圳市建设工程监理协会网站商用营销型网站建设优化建站
  • 哪些网站是专做合租的wordpress设计笔记
  • 阿里 设计网站建设三合一网站管理系统怎么做的
  • 湖南做网站 磐石网络引领网站备案 建设方案书
  • 免费企业建站wordpress培训类网站模板