我正在一个项目中工作,我们使用ansible创建和部署服务器集群。 我需要实现的任务之一是,仅在本地存在该文件时才将本地文件复制到远程主机。 现在我正在尝试使用以下方法解决这个问题
- hosts: 127.0.0.1
connection: local
tasks:
- name: copy local filetocopy.zip to remote if exists
- shell: if [[ -f "../filetocopy.zip" ]]; then /bin/true; else /bin/false; fi;
register: result
- copy: src=../filetocopy.zip dest=/tmp/filetocopy.zip
when: result|success
但是,以下错误消息导致此操作失败:
ERROR:任务“将本地文件tocopy.zip复制到远程(如果存在)”中缺少“action”或“local_action”属性我尝试使用命令任务来创建它。 我已经尝试使用local_action创建此任务,但是我无法使其工作。 我找到的所有示例都没有考虑在local_action中使用shell,只有命令的示例,而且除了命令之外没有其他内容。 是否有一种使用ansible执行此任务的方法?