use*_*643 3 ansible ansible-playbook
在/ etc/osci下,我们为监控名称存储了一个单行字符串.我创建了一个ansible playbook,它将默认的zabbix配置复制到远程服务器,现在我想使用ansible replace模块用/ etc/osci的输出替换新复制的配置文件中的字符串
在salt中,我可以执行在远程服务器中运行的cmd.shell并将文件输出读取到变量(使用cat),但是我在使用与Ansible相同的方法时遇到了问题.
这样做的正确方法是什么?
- shell: cat /etc/osci
register: data
Run Code Online (Sandbox Code Playgroud)
这不起作用,在系统中调用数据变量返回0输出.这样做有另一种方法吗?我真的不想使用fetch将文件下载到本地主机并使用lookup进行读取.
Hen*_*ica 11
您可能正在使用register命令的错误返回值.添加.stdout应该返回文件的内容.像这样使用它:
- name: Get osci content.
shell: cat /etc/osci
register: data
- debug:
msg: "{{ data.stdout }}"
Run Code Online (Sandbox Code Playgroud)