obs命令行工具obsutil的使用测试
test1
批量复制,目标文件夹ggggg-zyx0809/data/tmp/a0文件夹已存在,不使用flat命令,目标路径包含a0文件夹
操作 从ggggg-zyx0809/data/g_cagegory/a0复制到ggggg-zyx0809/data/tmp/a0
条件 ggggg-zyx0809/data/tmp/a0文件夹已存在,
结果 在ggggg-zyx0809/data/tmp/a0又生成一个文件夹a0
命令 ./obsutil cp obs://ggggg-zyx0809/data/g_cagegory/a0 obs://ggggg-zyx0809/data/tmp/a0 -f -r
test2
批量复制,目标文件夹ggggg-zyx0809/data/tmp/a0文件夹已存在,不使用flat命令,目标路径不包含a0文件夹
操作 从ggggg-zyx0809/data/g_cagegory/a0复制到ggggg-zyx0809/data/tmp/
条件 ggggg-zyx0809/data/tmp/a0文件夹已存在,
结果 在ggggg-zyx0809/data/tmp/不会重新生成文件夹a0,复制过来的数据直接存放到a0文件夹中
命令 ./obsutil cp obs://ggggg-zyx0809/data/g_cagegory/a0 obs://ggggg-zyx0809/data/tmp/ -f -r
test3
批量复制,ggggg-zyx0809/data/tmp/a0文件夹已存在,使用flat参数,目标路径包含a0文件夹
操作 从ggggg-zyx0809/data/g_cagegory/a0复制到ggggg-zyx0809/data/tmp/a0,增加flat参数
条件 ggggg-zyx0809/data/tmp/a0文件夹已存在,
结果 在ggggg-zyx0809/data/tmp/a0中不会新生成文件夹a0,复制过来的数据直接存放到a0文件夹中
命令 ./obsutil cp obs://ggggg-zyx0809/data/g_cagegory/a0 obs://ggggg-zyx0809/data/tmp/a0 -f -r -flat
结论:
通过test2和test3的实验我们发现,目标文件夹存在的情况下,复制不重复创建的文件夹的两种方式
-
目标路径不带目标文件夹,不使用flat参数
-
目标路径带目标文件夹,使用flat参数
综合对比,目标文件夹存在的情况下,复制不重复创建的文件夹最好的方式就是方法1(因为代码量少^_^)
参考:https://support.huaweicloud.com/utiltg-obs/obs_11_0017.html
作者:华为云MVP郑永祥