我是 Ansible 的新手,实际上才刚刚开始在我们的环境中实施它。我们的组织要求我们保留应用于我们服务器的更新日志。为了保持一致性和清晰度,这些文件名是使用以下命令创建的:
yum history info > $(date +"%Y%m%d")_$(hostname)_updates.txt
由于文件名在运行命令的每一天都会发生变化,我如何在剧本中使用 fetch 来调用文件名?我尝试了以下几种方法,包括在 src 中使用和不使用引号、通过变量提供以及其他几种方法:
- name: Retrieve History
fetch:
src: '$(date +"%Y%m%d")_$(hostname)_updates.txt'
dest: /path/to/file/
flat: yes
我搜索并尝试了很多方法,但都无济于事,我已经没有线索了。有什么建议吗?
答案1
也许您应该尝试使用ansible_date_time
变量并通过 jinja 渲染文件名?
像这样:
- name: Retrieve History
fetch:
src: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}_{{ ansible_hostname }}_updates.txt"
dest: /path/to/file/
flat: yes