Ansible—如何在复制到远程主机之前压缩本地主机中的文件
我正在尝试将大型文件集(100年代)复制到我的远程服务器。但是,使用“复制”命令执行此任务需要相当长的时间。搜索一点,我明白了“同步”是一个很好的适合这个。不幸的是,我当前的远程服务器没有“rsync”,因此我也不能使用“synchronize”选项 作为一种解决方法,我想在ansible主机中压缩文件夹,然后使用“unarchive”模块将其传输到远程服务器Ansible—如何在复制到远程主机之前压缩本地主机中的文件,ansible,ansible-role,Ansible,Ansible Role,我正在尝试将大型文件集(100年代)复制到我的远程服务器。但是,使用“复制”命令执行此任务需要相当长的时间。搜索一点,我明白了“同步”是一个很好的适合这个。不幸的是,我当前的远程服务器没有“rsync”,因此我也不能使用“synchronize”选项 作为一种解决方法,我想在ansible主机中压缩文件夹,然后使用“unarchive”模块将其传输到远程服务器 - name: Archive the folder shell: zip <dest-zip-path> <pa
- name: Archive the folder
shell: zip <dest-zip-path> <path-to-folder>
delegate_to: localhost
-名称:归档文件夹
外壳:拉链
委托给:localhost
但是,这样做会导致以下错误:
模块\u stderr:“sudo:需要密码\n”
在传送之前,是否有更简单的方法在ansible主机上本地压缩文件夹?您可能正在播放中使用
been:true
。这在委派给本地主机时也适用。但它需要本地计算机上的密码
由于您可能不需要此选项,只需将been:false
应用于此特定任务即可。否则,您必须在本地主机上配置权限升级,或提供成为\u密码
此外,您应该考虑使用而不是使用Shell。< /P> < P>基于Zeitounator发布的解决方案,这是我用来解决问题的ANTILE代码:
- name: Archive the files
archive:
path: <path-to-folder>
dest: <dest-zip-path>
format: zip
delegate_to: localhost
become: false
-名称:归档文件
档案文件:
路径:
目的地:
格式:zip
委托给:localhost
变成:假