我使用 Ansible
win_copy
模块将文件从我的 Linux 机器复制到我的 Windows 服务器,这需要相当多的时间
。
有人知道如何提高
win_copy
速度吗?或者我应该使用其他方式将文件从Linux复制到Windows?
我尝试在每个文件上使用小任务列表而不是
loop
函数,但它没有改变任何东西。
如果
win_copy
对于您的用例不实用,请考虑压缩文件,从而仅对 win_get_url
进行一次调用。
win_copy
模块 - 将文件复制到 Windows 主机上的远程位置 - 注释
因为
运行在WinRM上,所以它不是一个非常有效的传输机制。如果发送大文件,请考虑将它们托管在 Web 服务上并使用 ansible.windows.win_get_url 代替。win_copy
关于
我正在尝试发送一些空文件。是同样的问题吗?
延迟来自这样一个事实:您循环访问一系列文件,导致打开和关闭一个文件的连接。这会显着增加您的任务开销和时间。
避免这种情况的一种方法是压缩文件并一步传输它们,如在另一个答案中提到。
您可以考虑优化 win 目标系统上的 powershell 执行。 就我们而言,这是一个游戏规则改变者。
检查此:https://docs.ansible.com/ansible/latest/os_guide/windows_performance.html