SaltStack实现动态文件分发,支持脚本换行,中文乱码

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

 

说明:使用SaltStack的 file.managedcode

file.managed 里面能够定义内容的几种方式 blog

- source:ip

- contents:get

- contents_pillar:class

contents_grains:test

这里咱们使用 - 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

调用方式模拟:file

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

相关文章
相关标签/搜索