我正在尝试将大量文件(以100个为单位)复制到我的远程服务器上。但是,使用“ copy”命令将花费相当长的时间。经过一番搜索,我了解到“同步”是一个很好的选择。不幸的是,我当前的远程服务器没有“ rsync”,因此我也无法使用“ synchronize”选项。
作为一种解决方法,我想将文件夹压缩在ansible主机中,然后使用“ unarchive”模块将其传输到远程服务器。
- name: Archive the folder
shell: zip <dest-zip-path> <path-to-folder>
delegate_to: localhost
但是,这样做时出现以下错误:“ module_stderr”:“ sudo:需要密码\ n”
在传输之前,是否有更简单的方法将文件夹本地压缩在ansible主机上?
您可能正在become: true
玩游戏。当委派给本地主机时,这也适用。但这需要您本地计算机上的密码。
由于您可能不需要此功能,因此只需将其应用于become: false
特定任务即可。否则,您将必须在localhost上配置特权升级或提供一个become_password
。
此外,您应该考虑使用archive
模块而不是外壳。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句