zoukankan      html  css  js  c++  java
  • SaltStack实现动态文件分发,支持脚本换行,中文乱码

    场景:将动态脚本分发到各个机器的指定目录下

    说明:使用SaltStack的 file.managed

    file.managed 里面可以定义内容的几种方式 

    - source:

    - contents:

    - contents_pillar:

    contents_grains:

    这里我们使用 - contents_pillar:

    代码:

    {% set script_dir = pillar.get("script_dir","") %}
    {% set script_content = pillar.get("script_content","") %}
    
    {{script_dir}}:
      file.managed:
        - mode: 0644
        - contents_pillar: {{ script_content }}
        - template: jinja
        - user: root

    调用方式模拟:

    hostname state.sls test pillar='{"script_content":"script_content","script_content":"123/n456","script_dir":"/data/aaa/aa.sh"}'

    说明:

    hostname:要分发的主机名称

    test:编写的sls文件名称

    这里相当于使用了变量嵌套的方式(script_content)进行传值,解决了上传内容不能换行和中文乱码的问题

    注意:

    这里使用的是- contents_pillar:,如果使用- contents:,没法进行换行,并且有中文乱码的问题。

  • 相关阅读:
    问题 A: 走出迷宫(BFS)
    问题 A: 工作团队(并查集删点操作)
    刷题-力扣-989
    刷题-力扣-12
    刷题-力扣-628
    刷题-力扣-11
    刷题-力扣-1018
    刷题-力扣-9
    刷题-力扣-7
    刷题-力扣-6
  • 原文地址:https://www.cnblogs.com/xu-lei/p/11697353.html
Copyright © 2011-2022 走看看