我尝试使用ansible pull and synchronize模块将文件从远程服务器同步到本地服务器。我使用ansible pull失败并显示"跳过:没有匹配的主机",但当我将剧本文件复制到本地服务器并作为ansible剧本运行时,它就工作了。
我的主机设置
localhost ansible_connection=local
[sync_server]
sync_1 ansible_host=11.22.33.44
战术手册文件
---
- name: Sync Test
hosts: sync_server
tasks:
- name: Start Sync
synchronize:
mode: pull
src: /home/sourcefiles
dest: /home/syncfiles/
- ansible版本2.5.1
- python 2.7.17版本
- 同步服务器和客户端操作系统ubuntu 18.04
如果没有更多的细节(尤其是你实际执行的命令,或者至少是一个没有真正VCS存储库的轻微修改版本(,你可能没有调用指定了主机/库存文件的剧本,或者你的库存可能没有被正确解析。
您可以运行CCD_ 1来查看已经"关闭"的主机的列表;检测到";使用此库存。您还应该检查ansible-config dump | grep DEFAULT_HOST_LIST
,看看您是否正在指定库存的路径。
如果是问题所在,那么您应该尝试以下操作之一:
- 使用(至少(以下行配置ansible.cfg:
[defaults]
inventory = hosts
- 使用开关
--inventory
(可以缩写为-i
(和库存文件的路径来尝试ansible-pull
,如下所示:ansible-pull --inventory hosts --url http://example.org/my/vcs.git playbook.yml