我是靠谱客的博主 高贵大地,最近开发中收集的这篇文章主要介绍七牛云链接失效,临时下载到本地,然后转到阿里云,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

七牛云链接失效,神烦,后来提交工单,回复了解决方案,但是嫌弃麻烦,琢磨了下。 自己写了个脚本下载到本地,然后再用命令上传到阿里云。 只适用于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
  • 没有捕获报错信息
  • 其实前面几步也可以写进脚本 但是不会 哈哈哈

ossutilmac64的介绍

最后

以上就是高贵大地为你收集整理的七牛云链接失效,临时下载到本地,然后转到阿里云的全部内容,希望文章能够帮你解决七牛云链接失效,临时下载到本地,然后转到阿里云所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部