• 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:,没法进行换行,并且有中文乱码的问题。

  • 相关阅读:
    使用gunicorn部署flask项目
    加密算法详解
    elasticsearch安装
    elk下载链接
    mysql允许远程连接
    工作流源代码分析
    查看账户的访问token
    Kube-proxy组件
    创建服务账户/查询访问token
    K8s概念2
  • 原文地址:https://www.cnblogs.com/xu-lei/p/11697353.html
Copyright © 2020-2023  润新知