qiniu / qshell

Shell Tools for Qiniu Cloud
MIT License
1k stars 199 forks source link

七牛测试域名过期之后,图片无法备份,qshell也不行,还有别的办法吗,求助 #188

Closed suncle1993 closed 6 years ago

lidawn commented 6 years ago
  1. 重新创建一个测试bucket(会分配一个新的测试域名)
  2. batchcopy 原bucket到新的bucket
  3. qdownload 新bucket

done!

bambooom commented 6 years ago

我试了之后发现,新建的 bucket 必须和原 bucket 在同一个区(华东/华南什么的)才能进行 batchcopy,否则会报 incorrect zone 错误

suncle1993 commented 6 years ago

后续我是借用了一个备案的域名然后qdownload备份下来的。 @lidawn 的方案可以一试

Galvin-wjw commented 6 years ago

batchcopy是同一个区域的复制

BIGBALLON commented 6 years ago

@Flowsnow 卧槽,亮哥居然和我遇到同一个问题,已经放弃qiniu了,居然还有这样丧心病狂的操作。

suncle1993 commented 6 years ago

@BIGBALLON 反正就是你很蛋疼,搞定了就彻底弃坑了,转向阿里oss了

saitjr commented 6 years ago

可以说是相当辣鸡了,弃用弃用,七牛一生黑

BIGBALLON commented 6 years ago

@lidawn 的方法可行. 注意bucket在同一个分区。然后导出list,再用batchcopy,最后qdownload。

另外如果新建了一个bucket,仍然会再分配一个测试域名。 如果是写博客的朋友可以直接将原来的域名全部替换为新的测试域名。

PS: 已经弃用qiniu了

aimer1124 commented 6 years ago

问题已解决,说下自己的解决过程。

从一个bucketA平移至另外一个bucketB

➜  qshell-v2.2.0 ./qshell-darwin-x64 listbucket bucketA tocopy.txt

操作已完成

generalthink commented 6 years ago

qshell batchcopy确实可行。

但是现在如果你没有实名认证就建不了另外的bucketB,然后就会要求你去实名认证

破七牛,弃坑

vimiix commented 6 years ago

是不是最近才上线的一个月到期的说法,一直用了一年多了,最近才提示剩余5天收回。 要整体换图床了~

BIGBALLON commented 6 years ago

@vimiix 之前我用了2年没什么问题,后来好像是被人利用传播非法色情的东西,就被告了。就要求实名认证了。

vimiix commented 6 years ago

@BIGBALLON 哦哦,这样哦,好可耻。


我的数据都迁移到 Ali OSS 了,写了一个自动化迁移工具,分享给大家。

https://github.com/vimiix/move_qiniuyun_to_alioss

weiwen1990 commented 6 years ago

转帖七牛云工程师在工单中回复的方法,我按照方法2.1成功。

您好, 1.您绑定自定义域名后可以继续使用

2.如果您没有域名,可以用下面方法下载 有两种方式来获取文件: 1. 您需要先新建一个同区域存储空间,会分配一个新的测试域名到新空间。 通过qshell batchcopy 到有域名的同区域空间然后再进行qdownload下载操作 1)qshell listbucket 原bucket名 list.txt (list出全部文件,https://github.com/qiniu/qshell/blob/master/docs/listbucket.md) 2)cat list.txt | awk '{print $1}' >list_final.txt ( 用awk获取list结果的第一列) 3)qshell batchcopy 原bucket名 新bucket名 list_final.txt (复制到新bucket的文件和原bucket文件名一致,https://github.com/qiniu/qshell/blob/master/docs/batchcopy.md) 4)qshell qdownload newfilelist.txt (newfilelist.txt为下载的配置文档,https://github.com/qiniu/qshell/blob/master/docs/qdownload.md

qshell安装包及文档请参考https://developer.qiniu.com/kodo/tools/1302/qshell 如果您不熟悉命令行工具的安装使用,也可以结合文档最后提供的视频教程 https://developer.qiniu.com/kodo/tools/1302/qshell#9

2. 使用工具qrsctl https://developer.qiniu.com/kodo/tools/1300/qrsctl qrsctl get

jing2si commented 5 years ago

参考 @veslam 的解答,我在 windows 10 中这样操作:

  1. 下载 qshell,使用命令行工具进入 qshell.exe 同一目录

  2. 密钥设置

    qshell account -- ak sk name

    个人中心 > 密钥管理 获取 ak sk,帐号名称 name 随便写

  3. 获取原空间文件名

    • 列出原空间文件列表并保存到 list.txt 文件中

      qshell listbucket 原空间名 -o list.txt
    • list.txt 文件有6列,不处理复制不了,只保留文件名这列,也就是第1列

      cat list.txt | awk '{print $1}' > list-filename.txt

      cmd.exe 没有 awk 命令,可以用 cmder,或者手动删除其它列

  4. 网页中新建存储空间,存储区域一定要和原空间一样

  5. 复制

    qshell batchcopy --force 原空间名 新空间名 -i list-filename.txt
  6. 下载

    • qshell.exe 同一目录中新建一个下载配置文件 download.txt,配置如下:

      {
        "dest_dir": "本地目录",
        "bucket": "新空间名",
        "cdn_domain": "外链默认域名"
      }
    • 执行下载命令

      qshell qdownload download.txt
milan-chen commented 5 years ago

@jing2si 感谢,还是不用七牛了》》

cocobear commented 5 years ago

新建bucket要实名认证, 绑定域名也要实名认证, 也就是不实名认证的话这自己的数据就没办法弄出来了吧? 国内的产品真是不能用!

imbennie commented 5 years ago

测试可行。 用java写了个简单的小工具,可以将文件备份到本地: link: https://gist.github.com/imbennie/2807a1bf600724a0df23b51bc8018bba

FrizzleFur commented 5 years ago

可以使用qrsctl下载: 命令行辅助工具(qrsctl)_工具_对象存储 - 七牛开发者中心

#!/bin/bash

imgs=`./qrsctl listprefix bucketName ''`

i=0
echo $imgs | tr " " "\n" | while read line
do
    if(($i>0))
    then
        echo $line
        ./qrsctl get bucketName $line ./$line
    fi
    i=$(($i+1))
done
frogcjn commented 5 years ago

用qrsctl 吧,用qshell的qdownload必须要备案的域名,否则只能每天用临时域名下载10GB……太可怕

guangze233 commented 5 years ago

存的内容较少的话,在七牛云的"对象存储"界面:

  1. 已有存储空间(测试域名已被回收):source,华东
  2. 新建另一个地区的存储空间:target,华南
  3. 使用“跨区域同步管理”:将source的内容迁移到target
ChaoyueZhao commented 5 years ago

@Xiaoxiaoguai421 亲测有效,简单实用,谢谢!

mrdulin commented 5 years ago

国内的东西没法用,所以我选择GCP和AWS