在Linux系统(服务器)使用阿里云盘服务快速上传下载文件

使用集群服务器的时候,尤其是当服务器有多个节点时有些复杂,连接集群我们一般用xshell,传输文件我们一般使用Xftp,一般对于单个节点服务器来说是方便的,使用Xftp还可以可视化本地和服务器端的文件,但当有多个节点时,这就不适用了,他不能选择节点,有局限,连接不了,Pycharm也连接不了集群。
对于深度学习,炼丹我们最重要的丹,动辄十几个G,几十G,甚至几百G都不再话下,因此面对这么庞大的数据,我们怎么管理传输呢,有些幸运好的,有官方集成的链接,我们可以用wget等命令来下载或者像pytorch等框架,内在集成了一些数据集可以有现成的命令,在模型中加载比较方便,一般来说,我们的数据集很有可能是来自谷歌云盘,网站,或者需要向作者申请下载渠道,还有一些是自制的数据集,这些我们一般都是先下载至本地,如果本地自己的服务器容纳得下,配置够我们的模型运行是最方便的,可视化调试也比较方便,当你想跑一些大模型的时候,我们的计算资源远远不够的时候,我们需要托管更强大的服务器,多卡GPU最好,这个时候我们就面临传输文件的难题,需要网络稳定,服务器不突然挂载,网速快,面对大型数据集的时候就有些头疼,要上传很久。其实有时久也不是最头疼的问题,主要是断点,报错乱码,超级头疼。
比如用集群时,用rz命令上传文件,他会报错文件上传大小不能超过4G,麻了,这个时候就要分批次上传,关键这个时候网络不稳定,会报编码错误,使用 rz -bey命令也不顶用,就当我一筹莫展的时候,咨询师兄后,师兄和我说可以用阿里云盘上传,很快,也没有文件限制,给我发了一个教程链接:Linux环境下使用阿里云盘
真香,但刚开始看教程的时候还是一头雾水,经过一天摸索,终于搞定了,我的50G数据集也顺利上传成功,只花了下载结束, 时间: 1小时3分23秒, 数据总量: 49.89GB,真开心。经过试炼,成功经验我觉得很有必要记录一下。

阿里云盘

官网:https://www.aliyundrive.com/

默认新用户的云盘容量是100G
在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第1张图片

aliyunpan优点

  1. 多平台支持, 支持 Windows, macOS, linux(x86/x64/arm), android, iOS 等
  2. 阿里云盘多用户支持
  3. 支持文件网盘,相册网盘无缝切换
  4. 下载网盘内文件, 支持多个文件或目录下载, 支持断点续传和单文件并行下载。支持软链接(符号链接)文件。
  5. 上传本地文件, 支持多个文件或目录上传,支持排除指定文件夹/文件(正则表达式)功能。支持软链接(符号链接)文件。
  6. 同步备份功能支持备份本地文件到云盘,备份云盘文件到本地,双向同步备份保持本地文件和网盘文件同步。常用于嵌入式或者NAS等设备,支持docker镜像部署。
  7. 命令和文件路径输入支持Tab键自动补全
  8. 支持阿里云ECS环境下使用内网链接上传/下载,速度更快(只支持阿里经典网络,最高可达100MB/s),还可以节省公网带宽流量(配置transfer_url_type=2即可)
  9. 支持webdav文件服务,可以将阿里云盘当做webdav文件网盘挂载到Windows, macOS, linux的磁盘中进行使用。webdav部署支持docker镜像,镜像只有不到10MB非常小巧。
  10. 支持JavaScript插件,你可以按照自己的需要定制上传/下载中关键步骤的行为,最大程度满足自己的个性化需求
    在linux中下载aliyunpan

官方版本说明

官方教程github:https://github.com/tickstep/aliyunpan
● 要下载与服务器系统适应的安装包 ,使用uname -a或者uname -r查看系统版本
安装包发布页:https://github.com/tickstep/aliyunpan/releases
版本说明:不同的标签对应不同架构的系统

  1. arm / armv5 / armv7 : 适用32位ARM系统
  2. arm64 : 适用64位ARM系统
  3. 386 / x86 : 适用32系统,包括Intel和AMD的CPU系统
  4. amd64 / x64 : 适用64位系统,包括Intel和AMD的CPU系统
  5. mips : 适用MIPS指令集的CPU,例如国产龙芯CPU
  6. macOS amd64适用Intel CPU的机器,macOS arm64目前主要是适用苹果M1芯片的机器
  7. iOS arm64适用iPhone手机,并且必须是越狱的手机才能正常运行

在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第2张图片
在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第3张图片

下载安装

使用wget命令下载
示例:

#先进入想将安装包安装在哪里的目录下,然后执行以下命令进行下载
wget https://github.com/tickstep/aliyunpan/releases/download/v0.2.2/aliyunpan-v0.2.2-linux-amd64.zip
# download后面接的就是版本号,然后再接发布页的安装包名
unzip aliyunpan-v0.2.2-linux-amd64.zip #解压安装包
cd aliyunpan-v0.2.2-linux-amd64  #进入安装包
./aliyunpan #启动aliyunpan
login #登录账号

登录

  1. 进入下载目录cd download_path

  2. ./aliyunpan启动进入交互命令行

  3. login
    在这里插入图片描述
    在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第4张图片

  4. 输入RefreshToken:打开 阿里云盘网页 并进行登录,然后F12按键打开浏览器调试菜单,在应用栏下的Local Storagetoken
    在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第5张图片

● 或者直接在控制台输入以下命令获取

# 控制台输入
JSON.parse(localStorage.getItem("token")).refresh_token
  1. 输入RefreshToken字符串,即可登录成功
  2. 在Linux系统(服务器)使用阿里云盘服务快速上传下载文件_第6张图片

config文件、下载路径配置设置

  1. config文件,里面会保存config的json文件和历史记录,可以指定程序配置文件的存储路径,如果没有指定,程序会使用默认的目录。
export ALIYUNPAN_CONFIG_DIR=/home/tickstep/tools/aliyunpan/config #可以随意指定存放地址
  1. 可以在aliyunpan交互指令界面指定将从云盘下载的文件存放在哪个目录下
config set -savedir save_path #save_path是你服务器想要将文件存放的地址路径

常用命令
命令汇总大全:https://github.com/tickstep/aliyunpan/blob/main/docs/manual.md

输入help

aliyunpan > help

...
   阿里云盘:
     album, abm   相簿(Beta)
     cd           切换工作目录
     download, d  下载文件/目录
     ls, l, ll    列出目录
     mkdir        创建目录
     mv           移动文件/目录
     pwd          输出工作目录
     recycle      回收站
     rename       重命名文件
     rm           删除文件/目录
     share        分享文件/目录
     sync         同步备份功能
     upload, u    上传文件/目录
     webdav       在线网盘服务
...

查看云盘文件列表

aliyunpan:/ tickstep$ ls

  #  文件大小       修改日期               文件(目录)                             
  0         -  2021-11-03 13:32:22  临时/                     
  1         -  2021-07-10 07:44:34  好友的分享/               
  2         -  2021-07-09 22:11:22  我的项目/                 
  3         -  2021-07-09 22:10:37  我的游戏/       
  4         -  2021-07-09 22:10:10  我的文档/       
  5  349.86KB  2021-06-06 11:46:02  使用统计.xls                                            
  6  503.57KB  2021-06-06 11:46:02  IMG_0098.JPG                                            
  7   72.20KB  2021-06-06 11:46:02  IMG_0103.PNG 
       总: 3.20MB                   文件总数: 3, 目录总数: 7  
----

下载文件

下载支持两种链接类型:1-默认类型 2-阿里ECS环境类型
在普通网络下,下载速度可以达到10MB/s,在阿里ECS(必须是"经典网络"类型的机器)环境下,下载速度单文件可以轻松达到20MB/s,多文件可以达到100MB/s

aliyunpan:/ tickstep$ download IMG_0106.JPG

[0] 当前文件下载最大并发量为: 5, 下载缓存为: 64.00KB
[1] 加入下载队列: /IMG_0106.JPG
[1] ----
文件ID: 60bc44f855814e19692a4958b4a8823a1a06e5de
文件名: IMG_0106.JPG
文件类型: 文件
文件路径: /IMG_0106.JPG

[1] 准备下载: /IMG_0106.JPG
[1] 将会下载到路径: /root/Downloads/4d001d48564f43b..62874f04bbe6/IMG_0106.JPG
[1] 下载开始
[1]704.00KB/1.48MB 0B/s(1.69MB/s) in 1.88s, left - ............
[1] 下载完成, 保存位置: /root/Downloads/4d001d48564f43b..62874f04bbe6/IMG_0106.JPG
[1] 检验文件有效性成功: /root/Downloads/4d001d48564f43b..62874f04bbe6/IMG_0106.JPG

下载结束, 时间: 4, 数据总量: 1.48MB
aliyunpan:/ tickstep$ 

上传文件

上传支持两种链接类型:1-默认类型 2-阿里ECS环境类型
在阿里ECS(必须是"经典网络"类型的机器)环境下,上传速度单文件可以轻松达到30MB/s,多文件可以达到100MB/s

aliyunpan:/ tickstep$ upload /Users/tickstep/Downloads/apt.zip /tmp

[0] 当前文件上传最大并发量为: 10, 上传分片大小为: 10.00MB
[1] 加入上传队列: /Users/tickstep/Downloads/apt.zip
[1] 2022-08-13 13:41:22 准备上传: /Users/tickstep/Downloads/apt.zip => /tmp/apt.zip
[1] 2022-08-13 13:41:22 正在检测和创建云盘文件夹: /tmp
[1] 2022-08-13 13:41:22 正在计算文件SHA1: /Users/tickstep/Downloads/apt.zip
[1] 2022-08-13 13:41:22 检测秒传中, 请稍候...
[1] 2022-08-13 13:41:22 秒传失败,开始正常上传文件
[1]21.00MB/21.00MB 702.53KB/s(702.70KB/s) in 15s ............
[1] 2022-08-13 13:41:22 上传文件成功, 保存到网盘路径: /tmp/apt.zip
[1] 2022-08-13 13:41:22 文件上传结果: 成功! 耗时 18秒

上传结束, 时间: 18, 数据总量: 21.00MB

参考资料

  1. Linux环境下使用阿里云盘

你可能感兴趣的:(学习教程,服务器,linux,运维)