2016-08-22 1084 views
2

在/ etc/osci下,我們爲我們的監控名稱存儲單個行字符串。 我創建了一個ansible劇本默認ZABBIX配置複製-S到遠程服務器,現在我想用ansible更換模塊的輸出/更換新複製的配置文件中的字符串等/ OSCIAnsible - 讀取遠程服務器中的文件,並使用輸出替換配置文件中的行

在salt中,我可以執行在遠程服務器上運行的cmd.shell,並將文件輸出讀取到一個變量(使用cat),但我在使用與Ansible相同的方法時遇到問題。

這樣做的正確方法是什麼?

- shell: cat /etc/osci 
    register: data 

這不起作用,在系統調用數據變量返回0輸出。這樣做有另一種方法嗎?我真的不想使用提取將文件下載到本地主機,並使用查找進行讀取。

回答

9

您可能使用了register命令的錯誤return value。添加.stdout應該返回文件的內容。像這樣使用它:

- name: Get osci content. 
    shell: cat /etc/osci 
    register: data 

- debug: 
    msg: "{{ data.stdout }}" 
+0

這個答案是正確的,應該被接受。 –

+0

運行良好。現在我唯一需要弄清的是如何去除輸出周圍的'''符號,我應該是金色的 – user55643

相關問題