Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
suncle1993 opened this issue Oct 1, 2018 · 23 comments

Comments

@suncle1993
Copy link

@suncle1993 suncle1993 commented Oct 1, 2018

No description provided.

@lidawn
Copy link

@lidawn lidawn commented Oct 2, 2018

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

done!

@bambooom
Copy link

@bambooom bambooom commented Oct 3, 2018

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

@suncle1993
Copy link
Author

@suncle1993 suncle1993 commented Oct 6, 2018

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

@suncle1993 suncle1993 closed this Oct 6, 2018
@Galvin-wjw
Copy link

@Galvin-wjw Galvin-wjw commented Oct 8, 2018

batchcopy是同一个区域的复制

@BIGBALLON
Copy link

@BIGBALLON BIGBALLON commented Oct 8, 2018

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

@suncle1993
Copy link
Author

@suncle1993 suncle1993 commented Oct 8, 2018

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

@saitjr
Copy link

@saitjr saitjr commented Oct 12, 2018

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

@BIGBALLON
Copy link

@BIGBALLON BIGBALLON commented Oct 15, 2018

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

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

PS: 已经弃用qiniu了

@aimer1124
Copy link

@aimer1124 aimer1124 commented Oct 18, 2018

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

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

  • 先下载qshell包到本机,解压,查看是否可以正常运行
➜  qshell-v2.2.0 ./qshell-darwin-x64 -v
QShell/v2.2.0 (darwin; amd64; go1.9)
➜  qshell-v2.2.0 ./qshell-darwin-x64 account
AccessKey: Your AK
SecretKey: Your SK
  • 使用导出文件列表命令,导出需要迁移的bucketA文件列表
➜  qshell-v2.2.0 ./qshell-darwin-x64 listbucket bucketA tocopy.txt
  • 需要手动把tocopy.txt中的的每行内容修改为仅有文件名
  • 执行平移(batchcopy)命令
➜  qshell-v2.2.0 ./qshell-darwin-x64 batchcopy --force --overwrite bucketA bucketB tocopy.txt

操作已完成

@generalthink
Copy link

@generalthink generalthink commented Oct 24, 2018

qshell batchcopy确实可行。

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

破七牛,弃坑

@vimiix
Copy link

@vimiix vimiix commented Oct 24, 2018

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

@BIGBALLON
Copy link

@BIGBALLON BIGBALLON commented Oct 24, 2018

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

@vimiix
Copy link

@vimiix vimiix commented Oct 24, 2018

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


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

https://github.com/vimiix/move_qiniuyun_to_alioss

@veslam
Copy link

@veslam veslam commented Nov 6, 2018

转帖七牛云工程师在工单中回复的方法,我按照方法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

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

@jing2si
Copy link

@jing2si jing2si commented Nov 14, 2018

参考 @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
@mokeychan
Copy link

@mokeychan mokeychan commented Nov 28, 2018

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

@cocobear
Copy link

@cocobear cocobear commented Dec 25, 2018

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

@imbennie
Copy link

@imbennie imbennie commented Dec 29, 2018

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

@FrizzleFur
Copy link

@FrizzleFur FrizzleFur commented Jan 26, 2019

可以使用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
  • ./qrsctl是qrsctl的当前路径
  • bucketName为图床名
  • 下载的图片为脚本当前路径
@frogcjn
Copy link

@frogcjn frogcjn commented Feb 11, 2019

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

@guangzezhu
Copy link

@guangzezhu guangzezhu commented Mar 29, 2019

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

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

@ChaoyueZhao ChaoyueZhao commented Apr 3, 2019

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

@mrdulin
Copy link

@mrdulin mrdulin commented May 25, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet