Google cloud storage &引用;cat urls.txt | gsutil-m cp-I gs://target bucket name/";传输约10000个文件后始终挂起
我正试图将大约80000张图片从一个谷歌云存储桶复制到另一个存储桶。 我是从一个带有google cloud sdk 180.0.1(包含gsutil 4.28)的mac启动此操作的 要在文本文件中传输的每个图像的~url,我将其馈送到gsutil cp,如下所示Google cloud storage &引用;cat urls.txt | gsutil-m cp-I gs://target bucket name/";传输约10000个文件后始终挂起,google-cloud-storage,gsutil,Google Cloud Storage,Gsutil,我正试图将大约80000张图片从一个谷歌云存储桶复制到另一个存储桶。 我是从一个带有google cloud sdk 180.0.1(包含gsutil 4.28)的mac启动此操作的 要在文本文件中传输的每个图像的~url,我将其馈送到gsutil cp,如下所示 $cat urls.txt | gsutil -m cp -I gs://target-bucket-name/ 其中url.txt看起来像 head -3 urls.txt gs://source-bucket-name/150
$cat urls.txt | gsutil -m cp -I gs://target-bucket-name/
其中url.txt看起来像
head -3 urls.txt
gs://source-bucket-name/1506567870546.jpg
gs://source-bucket-name/1506567930548.jpg
gs://source-bucket-name/1507853339446.jpg
传输了约10000张图像后,进程始终挂起
我已编辑$HOME/.boto以取消注释:
parallel_composite_upload_threshold = 0
这并没有阻止操作挂起
我不确定是什么原因导致了绞刑
基本需求是通用实用程序将N个项目从一个bucket复制到另一个bucket。我需要一个工作环境,使我能够完成这项任务
更新
删除-m选项似乎可以解决挂起的问题,但文件传输现在明显变慢了。我希望能够避免挂起问题,同时尽可能提高使用并发的速度
$ cat urls.txt | gsutil -D -m cp -I gs://target-bucket-name/ 2>&1 | tee output
parallel_process_count = 1 # Default - 12
parallel_thread_count = 10 # Default - 10
gsutil -m cp gs://source-bucket/ gs://target-bucket
gsutil -m cp 'gs://source-bucket/dir/**' gs://target-bucket
gsutil -m rsync -r gs://source-bucket gs://target-bucket