惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
V
Visual Studio Blog
博客园_首页
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
J
Java Code Geeks
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Fortinet All Blogs
P
Privacy & Cybersecurity Law Blog
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
B
Blog RSS Feed
S
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
W
WeLiveSecurity
A
Arctic Wolf
U
Unit 42
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
量子位
B
Blog
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
博客园 - 三生石上(FineUI控件)
H
Help Net Security
博客园 - 叶小钗
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
小众软件
小众软件
雷峰网
雷峰网
TaoSecurity Blog
TaoSecurity Blog
Schneier on Security
Schneier on Security

材料与逻辑

TPE选型攻略 一次搞懂PPAP:从提交到批准的完整指南 铝合金阳极氧化工艺详解 APQP 第五阶段:量产、反馈、评定与纠正 APQP 第四阶段:产品与过程验证 APQP 第三阶段:过程设计开发 控制计划(Control Plan)在制造业中的深度解析 控制计划(CP):制造业质量管理的核心支柱 OpenClaw 使用指南 PFMEA系统学习与制造业质量工具集成 第一性原理系统学习报告:从认知底层到创新实践 桌面端 EPUB 工具:Jane Reader及不同阅读器功能对比 APQP第二阶段(产品设计和开发)学习与实施指南 APQP第一阶段:顾客声音(VOC)向项目指标转化的标准化指南 制造业研发技术中的WBS(工作分解结构)应用 一个玩具车项目,讲清新版 APQP 怎么干 质量是设计出来的:APQP 核心框架与全流程详解 思维导图系统学习与职场应用指南 ISO 4892 塑料实验室光源暴露试验标准系统梳理与应用分析 高分子材料挤出成型工艺系统研发技术报告 制造业研发人员如何制定高效的项目开发计划:从材料开发到工艺落地的系统性指南 材料耐候性评价指南:色差值 ΔE 与抗老化等级的标准转换及年限推算 自动化工具:将 Markdown 文档转换为静态 PNG 思维导图脚本 溯因推理:原理、应用与智能演进研究 高分子加工工艺对比与选型参考 归纳推理:从经验观察到知识泛化的系统化研究 铝合金及其关键部件表面处理技术 使用 Mole 进行 macOS 深度清理与系统优化 轻量级多服务器监控:Beszel 的安装与实战部署 Python 自动化实践:Typora 自定义上传接口与兰空图床集成 使用 Python 脚本一键上传图片到兰空图床并自动复制链接 你的私有知识库:自托管 Markdown 笔记方案 NoteDiscovery 极简主义搜索:macOS 本地文件检索工具 Cardinal 深度解析 浮中一梦 告别 C 盘爆红:基于 Rust 的开源瘦身神器 WindowsClear 终端提效:用 fzf 打造极致的历史命令搜索体验 使用 80/20 法则掌握演绎推理 提升逻辑思维方法汇总 多功能、自动化整理文件夹Python脚本 Git下如何快速提交及推送 ISO 56005 创新管理体系学习与企业实施深度报告 自制多功能词云图生成程序——多文件分析、删除关键词等 逻辑重构与效率革命:金字塔原理在制造业研发技术中的深度应用分析 思维的算法:金字塔原理深度学习与个人认知升级指南 塑料及生物材料抑菌性能评估报告:基于 ISO 16869:2008 标准的深度解析 EN 13501-1 建筑材料阻燃性能测试与分类技术指南:墙板与地板体系的深度解析 EN 13501-1:2018 建筑产品燃烧性能分级报告指南 Mac下好用的命令行工具(2026版) 六西格玛在制造业研发技术工作中的具体实践 重构与共生:AI时代的职场技能趋势与人才战略蓝图 使用notebooklm + Gemini生成专业报告 Git命令学习:20%核心指令 vim中tab、buffer与windows区别及使用方法 ssh生成密钥、配置及登录 材料研发中的 DOE 实战:如何快速锁定最优工艺窗口 📌制造业研发与质量管理核心手册(2026版) mac 下文件及文本命令行检索方案 使用80/20法则阅读红楼梦
通过 rclone 自动备份 Lsky Pro(兰空图床)数据至 OneDrive
ZhangYong · 2026-02-19 · via 材料与逻辑

这是一篇关于如何在远程 Linux 服务器上通过 rclone 自动备份 Lsky Pro(兰空图床)数据至 OneDrive 的技术指南。

方案简介

本方案通过 Shell 脚本集成 mariadb-dump 数据库导出、tar 文件压缩及 rclone 同步功能。适用于 Docker 部署且无法直接使用浏览器进行 OAuth 授权的远程服务器。

我目前的安装环境为:Debian GNU/Linux 13 (trixie)+1Panel面板,docker部署的Lsky pro和对应数据库 mariadb,见图:

image-20260219154223533

备份核心数据列表

数据类型 路径/来源 重要性
数据库 容器内 mariadb-dump 导出 高(包含所有图片索引与用户数据)
配置文件 /data/lsky-pro/.env 高(包含 APP_KEY,丢失将导致无法解析图片路径)
存储数据 /data/lsky-pro/storage/app/uploads 高(所有原图文件)
安装锁 /data/lsky-pro/installed.lock 中(防止重复触发初始化安装)

由于远程服务器无法打开浏览器,需采用“授权传递”模式。

  1. 服务器端启动配置

    执行 rclone config,创建名为 onedrive 的配置。在 Use auto config? 处输入 n

  2. 本地端获取 Token

    在本地电脑(Windows/Mac)下载 rclone,运行服务器给出的命令:

    rclone authorize "onedrive" "XXXXXXXX"

  3. 完成授权

    将本地浏览器授权后生成的 JSON Token 粘贴回服务器。

rclone具体配置方法

注意:博主Onedrive账号为office 365,以下实际使用以此为例

安装

1
curl https://rclone.org/install.sh | sudo bash

1. 远程服务器端操作

  1. 执行 rclone config

  2. 输入 n 新建配置,命名为 onedrive

  3. Storage 选择 Microsoft OneDrive(通常编号在 30 左右,请核对列表)。

  4. client_idclient_secret:直接回车跳过(使用默认值)。

  5. region:选择 global (通常是 1):经实际使用,一定要选1,虽然4有365和china字样,不要选4

  6. 关键步骤: 当出现 Use auto config? 时,输入 n (即:Edit advanced config? [y/n] n 之后,询问 Use auto config? 时选 n)。

  7. 此时服务器会显示一行命令,类似:

    rclone authorize "onedrive" "XXXXXXXXX"


2. 本地电脑操作 (Windows/Mac)

  1. 在你的本地电脑(有浏览器的机器)上下载 rclone ,如果为mac或linux直接使用上述脚本安装即可。

  2. 打开终端(CMD、PowerShell 或 Terminal)。

  3. 输入服务器上给出的那行命令:

    1
    rclone authorize "onedrive" "XXXXXXXXX"
  4. 此时本地电脑会自动弹出浏览器,登录你的 OneDrive 账号并点击“授权”。

    PixPin_2026-02-19_14-25-54

  5. 授权成功后,本地终端会返回一段 JSON 格式的 Token(以 {"access_token":...} 开头)。

    PixPin_2026-02-19_14-27-25

  6. 复制这段完整的 JSON 字符串。


3. 返回远程服务器完成配置

  1. 将本地获取的 Token 粘贴回服务器的 result> 提示符处。

  2. Your choice>:选择 OneDrive Personal or Business (通常是 1)。

  3. Chose drive to use:rclone 会列出检测到的盘符,具体可打开网页版onedrive,下面的字符与浏览器地址对应上即可。

    PixPin_2026-02-19_14-32-56

  4. Is that OK?:确认配置,输入 y

  5. 退出配置。

4. 验证连接

在服务器上执行以下命令,看是否能列出文件:

1
rclone lsd onedrive:

PixPin_2026-02-19_14-35-54


第二步:编写自动化备份脚本

在服务器创建脚本文件,例如 /root/my_shells/lsky_backup.sh。脚本同时上传至zhyong26/Mac_shells: 个人使用脚本

注意查看脚本备注,需根据实际修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash


DB_CONTAINER="1Panel-mariadb-HnT9 根据实际替换"
DB_USER="lsky-pro 根据实际替换"
DB_PASS="xxxxxxxxxxxxxx 根据实际替换"
DB_NAME="lsky-pro 根据实际替换"
SOURCE_DIR="/data/lsky-pro 根据docker目录映射"
BACKUP_TEMP_DIR="/data/backups/temp"
REMOTE_NAME="onedrive 根据实际替换"
REMOTE_PATH="Backup/LskyPro"
RCLONE_CONF="$HOME/.config/rclone/rclone.conf"

DATE=$(date +%Y%m%d)
FILE_NAME="lsky_full_backup_$DATE.tar.gz"


mkdir -p $BACKUP_TEMP_DIR




docker exec $DB_CONTAINER mariadb-dump -hlocalhost -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_TEMP_DIR/db_backup_$DATE.sql


if [ ! -s "$BACKUP_TEMP_DIR/db_backup_$DATE.sql" ]; then
echo "Database export failed."
exit 1
fi


tar -czvf $BACKUP_TEMP_DIR/$FILE_NAME \
-C / \
${BACKUP_TEMP_DIR#/}/db_backup_$DATE.sql \
${SOURCE_DIR#/}/.env \
${SOURCE_DIR#/}/storage/app/uploads \
${SOURCE_DIR#/}/installed.lock


rclone --config "$RCLONE_CONF" copy $BACKUP_TEMP_DIR/$FILE_NAME $REMOTE_NAME:$REMOTE_PATH


rm -rf $BACKUP_TEMP_DIR/*

rclone --config "$RCLONE_CONF" delete $REMOTE_NAME:$REMOTE_PATH --min-age 30d

第三步:设置定时任务 (Crontab)

配置脚本每天凌晨 02:00 自动执行。

  1. 赋予执行权限

    chmod 700 /root/my_shells/lsky_backup.sh

  2. 编辑 Crontab

    输入 crontab -e 并添加以下行:

    1
    00 02 * * * /bin/bash /root/my_shells/lsky_backup.sh > /dev/null 2>&1

首先执行一次,脚本,即可在onedrive上查看备份好的文件了,这样再也不怕珍贵的图片丢失了。

PixPin_2026-02-19_14-45-07

下载下来后,可查看备份目录。上述所列的四个重要文件,包括数据库就全部备份好了。

image-20260219161019787


关键技术点提示

  • 权限安全:脚本内包含明文密码,必须通过 chmod 700 确保仅 Root 用户可读。
  • 容器执行环境mariadb-dump 命令在容器内执行,若容器镜像非 MariaDB(如 MySQL),请根据实际镜像名调整命令。
  • 配置文件路径:在 Crontab 中运行脚本时,环境变量与登录 Shell 不同,脚本中应使用绝对路径引用 rclone.conf
  • 数据完整性:建议定期从 OneDrive 下载备份包,并在本地测试环境中尝试恢复,以验证备份的有效性。

AI 总结 (Qwen API)

生成时间: 2026-02-19 16:12:25

深度总结:

本文是一篇面向运维实践者的生产级图床数据容灾方案指南,聚焦于 Lsky Pro(兰空图床)在 Docker 环境下的全量自动化备份体系构建。其核心价值不仅在于“如何备份”,更在于系统性解决了远程无图形界面服务器(如 VPS)对接 OneDrive 这类需 OAuth 交互的云存储所面临的授权断点难题——通过创新采用“本地授权 + Token 传递”模式,绕过传统 rclone config --auto 的浏览器依赖限制,实现安全、可复现的配置闭环。

技术方案采用分层备份策略
数据库层:通过 docker exec 调用容器内 mariadb-dump 实现一致性逻辑备份(规避文件锁与事务不一致风险);
配置层:精准提取 .env(含关键 APP_KEY,丢失将导致所有图片 URL 解析失败);
静态资产层:压缩 uploads/ 目录保障原始图片完整性;
状态控制层:保留 installed.lock 防止误恢复引发重复初始化。

脚本设计强调健壮性与可维护性:包含 SQL 导出校验、绝对路径显式声明、环境变量隔离处理(适配 Crontab)、自动清理策略(30 天远端保留),并嵌入关键安全提示(如密码明文保护、权限最小化 chmod 700)。整套流程已验证于 Debian 13 + 1Panel + Docker 栈,具备强落地性与跨平台参考价值。


核心关键词标签(3–5个):

#rclone #LskyPro #自动化备份 #OneDrive同步 #Docker运维