Ansible Fetch无法从Windows复制正在使用的文件

时间:2017-04-25 17:50:42

标签: windows ansible

如果文件正在使用,则以下步骤在Windows上失败:

- name: copy MyLog.log
  fetch:
    src: "C:\\MyLog.log"
    dest: "{{ agent_log_dir }}"
    flat: yes
    validate_checksum: no

ERROR

The process cannot access the file 'C:\\MyLog.log' because it is 
being used by \r\nanother process.\"\"\r\nAt li

处理这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您是否检查过agent_log_dir变量是否包含尾部斜杠?

comment from the Ansible modules core repository

  

假设你的目标是dir,你需要一个尾随斜杠。在这种情况下,Linux fetch将显式失败(sans-trailing-slash会告诉你它是一个dir,尾随斜杠会做你期望的)。 Windows fetch在sans-trailing-slash情况下无法出错,只是将文件下载到任何地方。

所以假设这是这种情况,你需要在dest参数中设置一个尾部斜杠。