Ansible中如何在含日期的生成文件名前添加主机名?
实现方法
这个需求其实很容易搞定,直接借助Ansible自带的主机变量就能实现你想要的文件名格式啦!
你只需要在原来的配置里,把主机名变量放在日期前面的位置就行,推荐使用inventory_hostname这个变量——它不需要提前收集主机facts,直接就能调用inventory里定义的主机标识,非常方便。修改后的配置语句如下:
log_path: c:\{{ inventory_hostname }}_wu{{ lookup('pipe', 'date +%Y%m%d') }}.txt
补充说明:
- 如果你的场景需要使用主机自身的系统主机名(比如Windows的计算机名),可以换成
{{ ansible_hostname }},但这个变量需要先执行gather_facts: yes来收集主机信息才能生效。 - 这样配置后,当Ansible在名为
servername的主机上执行时,生成的文件路径就会是c:\servername_wu20180518.txt,完全符合你的需求。
内容的提问来源于stack exchange,提问作者user3360847
相关产品推荐
相关产品推荐

