我使用ansible-剧本来管理我的vps,并将所有的vps信息放入一个清单文件中,如下所示:
[base]
vps_virmach ansible_host=127.39.39.34 ansible_ssh_user=root
vps_vulr ansible_host=24.39.48.02 ansible_ssh_user=root
[web]
vps_aliyun ansible_host=114.39.43.55 ansible_ssh_user=root我有一个路由器运行dnsmasq服务,我想编写一个shell脚本来为dnsmasq生成一个conf文件,这样我就可以使用自定义主机名访问vps了。
预期:
address=/vps_virmach/127.39.39.34
address=/vps_vulr/24.39.48.02
address=/vps_aliyun/114.39.43.55我很少有shell脚本编程经验,所以我想知道我应该选择哪个命令或命令管道来完成我的工作。
发布于 2021-01-03 06:45:07
可以在Ansible中创建该文件。下面的剧本
- hosts: all
gather_facts: false
tasks:
- copy:
dest: conf.txt
content: |
{% for host in ansible_play_hosts_all %}
address=/{{ host }}/{{ hostvars[host]['ansible_host'] }}
{% endfor %}
delegate_to: localhost
run_once: true给出
shell> cat conf.txt
address=/vps_virmach/127.39.39.34
address=/vps_vulr/24.39.48.02
address=/vps_aliyun/114.39.43.55https://unix.stackexchange.com/questions/627296
复制相似问题