当前位置: 首页 > news >正文

【云盘】使用阿里云盘托管项目大文件

【云盘】使用阿里云盘托管项目大文件

由于经常需要切换服务器运行项目实验,不同服务器在项目实验过程中会产生不同的数据、模型等较大文件,不能像代码那样能够使用git托管,因此考虑使用阿里云盘作为”第三方平台“托管这些大文件。

一、使用思路

使用阿里云盘托管项目大文件的思路跟使用git托管项目代码的思路相似:

  • 将服务器上的大文件【上传】到阿里云盘
  • 需要使用某大文件而当前服务器没有这个文件时,从阿里云盘【下载】该文件到本地

二、配置过程

2.1 注册阿里云盘

这个步骤就不多说了,但是注意一定要安装阿里云盘APP,因为后面将电脑与阿里云盘账号关联的步骤中只能通过阿里云盘APP扫描网页中的二维码完成关联。

2.2 在服务器上下载aliyunpan命令包

这部分的过程如下:

1、在aliyunpan的github链接中找到合适的安装包

打开aliyunpan的github链接:https://github.com/tickstep/aliyunpan,找到并点击进入releases,跳转出来的页面中有一系列跟不同操作系统架构对应的安装包。

我使用的服务器用的是linux操作系统,但是这里提供的linux安装包也有好几种,对应不同的系统架构。

使用命令uname -m查询linux服务器的系统架构:

  • 输出为 x86_64 → 选择 ...-linux-amd64.zip
  • 输出为 aarch64 → 选择 ...-linux-arm64.zip
  • 输出为 armv7l → 选择 ...-linux-armv7.zip
  • 输出为 mipsmips64 等 → 对应选择 mips 系列版本

经过查询后,确认我需要下载的是linux-amd64的安装包。具体的,假设我要下载aliyunpan-v0.3.7-linux-amd64.zip,此时可以右键该安装包、点击”复制链接地址“,然后得到下载链接:https://github.com/tickstep/aliyunpan/releases/download/v0.3.7/aliyunpan-v0.3.7-linux-amd64.zip

2、在服务器上下载安装包

进入有文件要上传的服务器,使用wget命令下载找好的安装包:

wget https://github.com/tickstep/aliyunpan/releases/download/v0.3.7/aliyunpan-v0.3.7-linux-amd64.zip

当然,也可以不通过wget命令下载,直接在github网页中将安装包文件下载到本地、再上传到服务器也行

3、在服务器上解压安装包

使用unzip命令解压下载好的安装包:

unzip https://github.com/tickstep/aliyunpan/releases/download/v0.3.7/aliyunpan-v0.3.7-linux-amd64.zip

4、进入解压后的文件夹

解压完成后,目录中会出现aliyunpan-v0.3.7-linux-amd64文件夹,进入该文件夹。

cd aliyunpan-v0.3.7-linux-amd64

5、执行阿里云盘的二进制命令

进入文件夹后,输入命令ls可以看到阿里云盘的二进制命令aliyunpan。使用下方命令进入阿里云盘命令行:

./aliyunpan

2.3 授权使用阿里云盘,关联服务器与阿里云盘账号

在服务器上首次使用阿里云盘命令需要先登录。在命令行中输入login命令:

aliyunpan > login

等待几秒,正常响应时命令行会返回一个网址链接,形如:
在这里插入图片描述

将这个链接(包括后面read、……、write那些内容)复制到浏览器中,会出现一个二维码,此时使用阿里云盘APP扫描该二维码,返回命令行并按Enter键即关联成功。

如果等待几秒后命令行提示”登录错误“的问题,一般是网络原因,多试几次或者换个时间再试。

三、aliyunpan基本命令

进入阿里云盘命令行后,输入help可以查看有哪些指令可以使用:

在这里插入图片描述

有ls、mkdir等命令,用法和普通的linux命令基本是一样的。

输入exit即可退出命令行。

四、使用阿里云盘托管项目大文件

4.1 将服务器上的大文件【上传】到阿里云盘

进入aliyunpan命令行后,使用upload命令将文件上传到阿里云盘(可以先在阿里云盘上创建好你打算放文件的文件夹):

upload <本地文件/目录的路径1> <文件/目录2> <文件/目录3> ... <目标目录>

在aliyunpan命令行中输入upload --help可以查看upload命令的详细用法,文档配置了示例。

执行命令后会看到命令行中输出文件的上传情况。有些文件会重试几次才能上传成功。

4.2 从阿里云盘【下载】该文件到本地/服务器

进入aliyunpan命令行后,使用download命令将文件从阿里云盘下载到本地。

在aliyunpan命令行中输入download --help可以查看download命令的详细用法,文档配置了示例。

但是如果直接使用download ... --saveto ...下载文件或文件夹,会发现该文件或文件夹的实际下载地址为:指定的地址+该文件或文件夹在阿里云盘中的完整路径。比如使用download a.txt --saveto /home/b时,如果a.txt文件在阿里云盘中的路径为/d/a.txt,那么它下载到本地的路径是/home/b/d/a.txt,但其实我只是希望它下载到本地的路径是/home/b/a.txt。

为了修正这个问题,参考如下链接进行修改:

下载的文件,为什么会把云端的对应完整目录也一样下载到本地了呢? #462

JavaScript插件手册

具体如下:

1、进入文件夹aliyunpan-v0.3.7-linux-amd64/plugin/js/,找到文件download_handler.js.sample,复制得到副本,然后修改副本的全称为download_handler.js。必须这样修改文件名,否则后面js插件不会生效。

2、打开js文件,将原来的downloadFilePrepareCallback函数的内容全部注释掉,粘贴上新的函数内容:

function downloadFilePrepareCallback(context, params) {console.log(params)var result = {"downloadApproved": "yes","localFilePath": ""};if (params["driveFileType"] != "file") {return result;}// 下面的代码都是分隔路径,方便后面修改路径时使用var filePath =  params["localFilePath"];filePath = filePath.replace(/\\/g, "/");// 目录完整路径var dirPath = "";// 文件名,不包括后缀名var fileName = "";// 文件后缀名var fileExt = "";var idx = filePath.lastIndexOf('/');if (idx > 0) {dirPath = filePath.substring(0,idx);fileName = filePath.substring(idx+1,filePath.length);} else {fileName = filePath;}idx = fileName.lastIndexOf(".")if (idx > 0) {fileExt = fileName.substring(idx,fileName.length);fileName = fileName.substring(0, fileName.length-fileExt.length)}// 只保留文件名,不需要目录结构var saveFilePath = fileName + fileExt;// 返回result["localFilePath"] = saveFilePath;return result;
}

3、保存,之后修改就会生效了。

相关文章:

  • Rain World 雨世界 [DLC 解锁] [Steam Epic] [Windows SteamOS]
  • 【Linux系统】线程
  • LOJ #193 线段树历史和 Solution
  • 腾讯云服务器:bgp服务器搭建要怎么做?bgp服务器的应用有哪些?
  • 初始化列表详解
  • GPT-4o 图像生成与八个示例指南
  • 算法技巧——打表
  • 数字智慧方案5860丨智慧机场整体解决方案(41页PPT)(文末有下载方式)
  • Java大师成长计划之第10天:锁与原子操作
  • PINNs案例——多介质分区温度场
  • Nacos使用
  • DeepSeek实战--Function Calling
  • [官方 IP] Utility Flip-Flop
  • 不小心误删了文件,找Windows数据恢复工具来帮忙
  • 泰迪杯特等奖案例学习资料:基于CLIP模型微调与知识蒸馏的多模态图文检索系统设计
  • Linux-常用监控工具
  • 【Touching China】2002-2006
  • C++_STL
  • MLPerf基准测试工具链定制开发指南:构建领域特异性评估指标的实践方法
  • CPU:AMD的线程撕裂者(Threadripper)系列
  • 中青报:“爸妈替我在线相亲”,助力还是越界?
  • 图忆|上海车展40年:中国人的梦中情车有哪些变化(上)
  • 美国务院宣布新一轮与伊朗相关的制裁
  • 空调+零食助顶级赛马备战,上海环球马术冠军赛将焕新登场
  • 刘国中:毫不松懈巩固拓展脱贫攻坚成果,全力以赴抓好农业防灾减灾工作
  • 贵州茅台一季度净利268亿元增长11.56%,系列酒营收增近两成