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

【服务器】上传百度网盘数据至服务器

目录

  • 方法一:使用开源命令行工具 BaiduPCS-Go (最推荐)
  • 实例:下载网盘数据
  • 实例:上传服务器数据至百度网盘
    • 单个文件测试上传
    • 批量裁剪文件
  • 参考

方法一:使用开源命令行工具 BaiduPCS-Go (最推荐)

这是目前在 Linux/Windows 服务器上最流行的第三方工具,它模拟了百度网盘的客户端,支持多线程下载,速度非常快。

  1. 下载工具:
# 示例:下载适合 Linux 64位的版本(请检查最新版本号)wgethttps://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v3.9.5/BaiduPCS-Go-v3.9.5-linux-amd64.zipunzipBaiduPCS-Go-v3.9.5-linux-amd64.zipcdBaiduPCS-Go-v3.9.5-linux-amd64chmod+x BaiduPCS-Go
  1. 登录账号:
    运行程序:
    ./BaiduPCS-Go
    进入交互界面后,使用login命令。由于服务器通常没有浏览器,推荐使用BDUSS 登录(Cookie登录)。
    • 如何获取 BDUSS?

方法一:使用快捷键(F12)
在本地浏览器登录百度网盘,按 F12 打开开发者工具 -> Application (或 Storage) -> Cookies -> 找到BDUSS的值并复制。

方法二:使用浏览器地址栏代码(最快捷,无需 F12)

这种方法通过在地址栏输入一段 JavaScript 代码来直接弹出 BDUSS,适用于大多数电脑浏览器。

  1. 在浏览器中打开百度首页 (baidu.com)并确保已经登录账号。

  2. 在浏览器的地址栏中,手动输入javascript:(注意:直接复制粘贴整段代码时,浏览器为了安全通常会自动删掉开头的javascript:,所以必须手动打这几个字)。

  3. 紧接着粘贴以下代码:

    alert(document.cookie.match(/BDUSS=(.*?)(;|$)/)[1])
  4. 按回车键。

  5. 浏览器会弹出一个窗口,里面的一长串字符就是你的BDUSS

    • 在服务器输入:login -bduss=<你的BDUSS>


3.下载文件:
登录成功后,使用类似 Linux 的命令操作:
*ls:列出文件
*cd:切换目录
*d <文件名>:下载文件 (例如d movie.mp4)

优点:免费、开源、支持多线程、无需图形界面。
缺点:百度有时会针对非官方客户端限速(账号可能被暂时拉黑导致速度变慢,需要会员解封)。

实例:下载网盘数据

cd/geogfs1/home/wanzhougeo/Packages/BaiduPCS-Go-v3.9.5-linux-amd64/# 确保先进入正确的下载目录./BaiduPCS-Go configset-savedir/geogfs1/groups/scl/Data/# 设置最大并发下载任务数为 50 (根据服务器性能可适当调整,一般 50-100 都可以)./BaiduPCS-Go configset-max_parallel50# 设置下载缓存大小为 256KB (有助于减少磁盘碎片)./BaiduPCS-Go configset-cache_size262144

案例1:下载数据

# 下载地温数据./run_downloadLST.shnohup./run_downloadLST.sh>downloadLST.log2>&1&# 下载气温数据nohup./run_downloadTa.sh&nohup./run_downloadTa.sh>downloadTa.log2>&1&nohup./run_downloadCode.sh>downloadB0.log2>&1&

用以下命令在 Linux 或 macOS 终端中查看该文件夹的大小:

du-sh/geogfs1/groups/scl/Data/2860562008_ww_for/

裁剪文件:

mv/geogfs1/groups/scl/Data/2860562008_ww_for/Africa_Ta_SVCMsp_2021TMIN_*.tif /geogfs1/groups/scl/Data/2860562008_ww_for/Africa2021/mv/geogfs1/groups/scl/Data/2860562008_ww_for/Australia_Ta_SVCMsp_2021TMAX_*.tif /geogfs1/groups/scl/Data/2860562008_ww_for/Australia2021/mv/geogfs1/groups/scl/Data/2860562008_ww_for/Australia_Ta_SVCMsp_2021TMIN_*.tif /geogfs1/groups/scl/Data/2860562008_ww_for/Australia2021/
mv/geogfs1/groups/scl/Data/2860562008_ww_for/ /geogfs1/groups/scl/Data/Global_Ta/

案例2:下载数据

实例:上传服务器数据至百度网盘

# 下载气温数据nohup./run_uploadTa.sh&

run_uploadTa.sh 脚本完整内容如下:

设置最大并发上传数如下:

./BaiduPCS-Go configset-max_upload_parallel5

(将最大并发上传数设置为 2 或 1,虽然上传速度会稍微变慢,但会极其稳定,不再报错)

单个文件测试上传

测试单个文件的上传:

./BaiduPCS-Go upload /geogfs1/groups/scl/Data/Global_Ta/EuropeanAsia2021/EuropeanAsia_Ta_SVCMsp_2021TMAX_001.tif /Ta/EuropeanAsia2021/

如果单文件测试依然报 31023 错误,请按以下步骤修复:

方法一:修改 AppID(最常见的有效解决方法)
很多时候是因为默认的 AppID 接口被百度限制了。可以尝试修改为一个官方常用的 AppID(例如 266719 或 265486)。

依次执行以下命令:

# 修改 AppID./BaiduPCS-Go configset-appid=266719# 退出当前账号并重新登录(修改 AppID 后通常需要重新登录才能生效)./BaiduPCS-Gologout./BaiduPCS-Go login

批量裁剪文件

cp/geogfs1/groups/scl/Data/Ta_SVCMsp_global_V2026/2_output/Ta2021/EuropeanAsia2021/ /geogfs1/groups/scl/Data/Global_Ta/EuropeanAsia2021/ /geogfs1/groups/scl/Data/Ta_SVCMsp_global_V2026/2_output/Ta2021/EuropeanAsia2021rep/
cd/geogfs1/groups/scl/Data/Ta_SVCMsp_global_V2026/2_output/chmod+x copy_ta_data.sh dos2unix copy_ta_data.sh ./copy_ta_data.sh2022./copy_ta_data.sh202020212022

copy_ta_data.sh 脚本内容如下:

#!/bin/bash# 检查是否提供了年份参数if["$#"-eq0];thenecho"使用方法:$0<年份1> [年份2] [年份3] ..."echo"示例:$02021 2022 2023"exit1fi# 遍历所有传入的年份参数forYEARin"$@";doecho"========================================"echo"正在处理年份:${YEAR}..."# 定义对应年份的文件夹路径SRC_DIR="/geogfs1/groups/scl/Data/Ta_SVCMsp_global_V2026/2_output/Ta${YEAR}/EuropeanAsia${YEAR}"REP_DIR="/geogfs1/groups/scl/Data/Ta_SVCMsp_global_V2026/2_output/Ta${YEAR}/EuropeanAsia${YEAR}rep"TARGET_DIR="/geogfs1/groups/scl/Data/Global_Ta/EuropeanAsia${YEAR}"# 1. 创建目标文件夹(如果不存在的话,-p 参数会自动创建父目录且不会报错)mkdir-p"${TARGET_DIR}"echo"已确保目标文件夹存在:${TARGET_DIR}"# 2. 拷贝原始数据if[-d"${SRC_DIR}"];thenecho"正在拷贝原始数据:${SRC_DIR}->${TARGET_DIR}"# 拷贝所有 tif 文件。2>/dev/null 用于隐藏找不到文件时的系统报错,由后面的 echo 提供友好提示cp"${SRC_DIR}"/*.tif"${TARGET_DIR}/"2>/dev/null||echo" [警告]${SRC_DIR}中没有找到 .tif 文件。"elseecho" [错误] 原始数据文件夹不存在:${SRC_DIR}"fi# 3. 拷贝替换数据 (使用 -f 强制覆盖同名文件)if[-d"${REP_DIR}"];thenecho"正在拷贝并替换数据:${REP_DIR}->${TARGET_DIR}"cp-f"${REP_DIR}"/*.tif"${TARGET_DIR}/"2>/dev/null||echo" [提示]${REP_DIR}中没有找到需要替换的 .tif 文件。"elseecho" [提示] 替换文件夹不存在,跳过替换步骤:${REP_DIR}"fiecho"年份${YEAR}处理完成!"doneecho"========================================"echo"所有指定年份的数据拷贝与替换任务已全部执行完毕!"

参考

http://www.jsqmd.com/news/551280/

相关文章:

  • 如何写好一份SDC——流程篇
  • SecGPT-14B部署教程:华为云ModelArts中适配vLLM的Ascend CANN优化方案
  • 关于CO2地下盐水层封存的Comsol复刻之旅
  • 3个革新性视角:Tomato-Novel-Downloader的内容自由解决方案
  • 开源工具权限重置指南:跨平台AI编程助手试用限制解决方案
  • 【愚公系列】《剪映+DeepSeek+即梦:短视频制作》030-调色:废片秒变氛围感大片(基础参数的调节)
  • VibeVoice Pro多语言混合输出:中英混说场景下流式语音连续性测试
  • 56. 合并区间(Merge Intervals)——C语言高质量题解
  • DMDRS二进制安装包部署搭建(DM8单机版)
  • 拒绝做“代码蝉”:研发团队如何设计“有感”的微愿景?
  • Face Analysis WebUI保姆级教程:3步完成GPU加速的人脸属性分析环境部署
  • Tantivy 与 Milvus 的深度整合:倒排索引在向量搜索中的性能优化实践
  • OpenCore Legacy Patcher:3大突破让旧Mac重获新生的系统兼容性优化指南
  • SOONet部署案例:Kubernetes集群中SOONet服务容器化与水平扩缩容实践
  • 4步解锁旧Mac潜能:OpenCore Legacy Patcher技术指南
  • FPGA工程师面试汇总(五)
  • 前缀和力扣题(leetcode)
  • 155. 最小栈(MinStack)题解
  • BAAI/bge-m3快速入门:3步搭建你的第一个语义相似度分析工具
  • OpenClaw云端体验:通过星图平台快速试用GLM-4.7-Flash镜像
  • 实测|WSL2 从零部署 OpenClaw AI 助手:安装配置与实战运行教程
  • 从电子表到服务器:聊聊32.768kHz这颗“时间之心”的封装变迁史(DT-26、SMD3225对比)
  • OBS Studio直播架构解析:多源场景管理与实时转场性能优化
  • FastReport安装避坑指南:Delphi开发者必知的5个关键步骤
  • AI 大模型绘图日常使用教程|零门槛上手,快速出图不踩坑
  • OpenLdap部署
  • 2026年GPT-5.4实战应用完全指南
  • OBS多平台直播解决方案:obs-multi-rtmp插件全攻略
  • 造相-Z-Image效果对比:BF16 vs FP16在4090上的画质与稳定性差异
  • 多无人机协同避障之自适应重构 V 型编队与分布式控制算法探索