七牛云链接失效,临时下载到本地,然后转到阿里云
七牛云链接失效,神烦,后来提交工单,回复了解决方案,但是嫌弃麻烦,琢磨了下。 自己写了个脚本下载到本地,然后再用命令上传到阿里云。 只适用于mac....
七牛云上失效链接的文件,下载到本地
- 先下载qrsctl,复制本地这个文件的路径
- 修改这个文件的权限
chmod +x /Users/zhm/Downloads/qshell-v2.3.6/qrsctl
,这里注意路径 - 登录到七牛云
/Users/zhm/Downloads/qshell-v2.3.6/qrsctl login 账号 密码
- 新建文件
qiniuyun_down.sh
,复制下面的内容,配置前面两个路径,执行这个脚本sh qiniuyun_down.sh
就可以了!
#!/bin/bash # !!!!!对 这里请必须配置qrsctl的路径和你要保存到哪个文件夹下面 # 假设你有 foods balls两个bucket,而你的想要保存的本地文件夹是 /Users/xx # 执行此脚本之后,/Users/xx里面自动生成两个文件夹foods和balls,里面有对应的文件 # 你自己的 qrsct安装路径 qrsctlPath='/Users/zhm/Downloads/qshell-v2.3.6/qrsctl' # 你自己的 你想把图片放在哪个文件夹下面 saveDirectory='/Users/zhm/Pictures/blog' # 下载某一个bucket里面的所有文件 downBucketFiles(){ bucket=$1 echo "$bucket" filenamePath="${saveDirectory}/${bucket}.txt" # filenamePath=$saveDirectory/$bucket.txt # 将某个bucket所有的文件名放进本地文件filenamePath $qrsctlPath listprefix $bucket "" > $filenamePath # 这里我想将bucke作为子目录,如果不用的话,不用写这个 # saveDirectory=$saveDirectory/$bucket saveBucketDirectory="${saveDirectory}/${bucket}" mkdir $saveBucketDirectory # i是为了第一行不要的 TODO 不会优化== i=1 # 拿到所有的文件名之后 循环下载 for line in $(cat $filenamePath) do if [ $i -gt 1 ] then filename=$line localFilePath="${saveBucketDirectory}/${filename}" # 下载 $qrsctlPath get $bucket $filename $localFilePath fi i=$(($i+1)) done # 删除创建的txt rm $filenamePath } # 下载各个bucket里面的文件 execDownload(){ # 值是这样的[room imgs library baby] buckets=$($qrsctlPath buckets) strLength=${#buckets} # room imgs library baby buckets=${buckets:1:$strLength-2} echo "$buckets" # 循环拿到每个bucket TODO 明显可以优化 # !!!!特别奇怪的点,这里的j不能换成i,可能和作用域有关系吧,踩了一个深坑,半天才找到bug j=1 while((1==1)) do bucket=`echo $buckets|cut -d " " -f$j` if [ "$bucket" != "" ] then ((j++)) echo "----- $bucket start download-----" downBucketFiles $bucket; echo "-----$bucket finish download-----" else break fi done } echo "-----函数开始执行-----" execDownload echo "-----函数执行完毕-----"
上传到阿里云
下面按理说也可以写进去脚本,没写,照着官网看了下,各位按需配置。
cd ~ curl -o ossutilmac64 http://gosspublic.alicdn.com/ossutil/1.6.0/ossutilmac64 chmod 755 ossutilmac64 ./ossutilmac64 config # 该命令创建将一个配置文件,在其中存储配置信息。 请输入配置文件路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为 其它路径,在使用命令时需要将--config-file选项设置为该路径): # 未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。 # 对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。 # 请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com # 请输入accessKeyID:yourAccessKeyID # 请输入accessKeySecret:yourAccessKeySecret uOPouBlhXpI9J2KSgB9ra5tUCQEcHn # 请输入stsToken:我没有这个没输入,回车了 # 新建目录 ./ossutilmac64 mkdir oss://blog-huahua/ # 上传文件夹 ./ossutilmac64 cp -r /Users/zhm/Pictures/blog oss://blog-huahua/blog/
缺点
- 只适用mac
- 没有捕获报错信息
- 其实前面几步也可以写进脚本 但是不会 哈哈哈