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:,無法進行換行,而且有中文亂碼的問題。

相關文章
相關標籤/搜索