Ansible 是否可以在定义主机虚拟机上使用复制模块的游戏中添加游戏?
您好,我有一个剧本,可以从远程服务器获取信息并将其放置在本地服务器上,是否可以添加一个剧本,将该文件复制到本地并放置在特定主机上?我计划在下面对其进行编码,或者您有任何建议,最好的方法是什么?尽管服务器1不在playbook使用的清单文件中Ansible 是否可以在定义主机虚拟机上使用复制模块的游戏中添加游戏?,ansible,Ansible,您好,我有一个剧本,可以从远程服务器获取信息并将其放置在本地服务器上,是否可以添加一个剧本,将该文件复制到本地并放置在特定主机上?我计划在下面对其进行编码,或者您有任何建议,最好的方法是什么?尽管服务器1不在playbook使用的清单文件中 - name: Get compliance reporting from remote fetch: src: /tmp/compliancereporting.out dest: /home/ansible/linuxpatchingv2/O
- name: Get compliance reporting from remote
fetch:
src: /tmp/compliancereporting.out
dest: /home/ansible/linuxpatchingv2/OUTGOING-COMPLIANCE_v2/inventory_{{ '%y%m%d%H%M%S' | strftime }}
flat: yes
- name: Copy the fetch file
host: server1
copy:
src: /home/ansible/linuxpatchingv2/OUTGOING-COMPLIANCE_v2/inventory_*
dst: /tmp/
将文件从远程主机复制到位于/Ansible\u主机名
的Ansible控制计算机
例如,对于host1.example.co
和dest:/home/ansible/linuxpatchingv2
:
/home/ansible/linuxpatchingv2/host1.example.co/tmp/compliancereporting.out
所以在你的剧本里,你会有两个剧本。第一次播放将fetch
文件复制到远程控制机器,第二次播放将copy
在第一次播放中获取的文件复制到远程机器
-name:从host1.example.co获取文件
主机:host1.example.co
任务:
-名称:获取文件
获取:
src:/tmp/compliancereporting.out
目的地:/home/ansible/linuxpatchingv2/
-名称:将文件复制到远程主机服务器1
主机:server1
任务:
-名称:将报告复制到远程路径
副本:
src:/home/ansible/linuxpatchingv2/host1.example.co/tmp/compliancereporting.out
目的地:/tmp/
我忘了提到,获取部分正在使用不同服务器的资源清册,我只是尝试将复制播放添加到现有播放中,但复制播放将使用特定主机。此外,我正在使用角色,因为当我尝试您的解决方案时,我会看到以下内容:“错误!任务中未检测到任何操作。这通常表示模块名称拼写错误或模块路径不正确。”角色任务文件中不能有主机:
。也许您可以更新关于如何使用该角色的问题。此外,您的资源清册中应该有所有要作为目标的主机,并将“复制到远程”作为播放任务而不是角色。