Saltstack

如何將文件從master複製到salt-stack上的minions?

  • January 7, 2021

我想將文件從鹽棧主伺服器複製到小伺服器。我從https://stackoverflow.com/questions/27687886/copy-a-file-from-salt-master-to-minions找到了一個腳本。但我得到了一個錯誤。

copy_my_files:
 file.recurse:
   - source: salt://srv/salt/nginx.conf
   - target: /etc/nginx
   - makedirs: True

錯誤:-

 ID: copy_my_files
   Function: file.recurse
     Result: False
    Comment: Specified file copy_my_files is not an absolute path
    Started: 09:46:24.850682
   Duration: 1.473 ms
    Changes:

我已經為兩者提供了正確的路徑。

如果我是正確的,file.recurse 用於複製目錄的內容。在這裡,只複製一個文件所要做的就是使用file.managed

例如重用您的範例,這應該有效:

copy_my_files:
 file.managed:
   - name: /etc/nginx/nginx.conf
   - source: salt://nginx.conf
   - makedirs: True

請注意,您要複製的 nginx.conf 文件必須位於 salt master 上的 /srv/salt 中。那是 salt:// 指向的預設位置(除非您修改了配置)

如果您想使用file.recurse複製多個文件,這也很容易

deploy linter configuration:
 file.recurse:
   - name: "/usr/local/linter"
   - source: salt://devtools/files/linter
   - makedirs: True
   - replace: True
   - clean: True

引用自:https://serverfault.com/questions/946639