
























这是一篇关于如何在远程 Linux 服务器上通过 rclone 自动备份 Lsky Pro(兰空图床)数据至 OneDrive 的技术指南。
本方案通过 Shell 脚本集成 mariadb-dump 数据库导出、tar 文件压缩及 rclone 同步功能。适用于 Docker 部署且无法直接使用浏览器进行 OAuth 授权的远程服务器。
我目前的安装环境为:Debian GNU/Linux 13 (trixie)+1Panel面板,docker部署的Lsky pro和对应数据库 mariadb,见图:

| 数据类型 | 路径/来源 | 重要性 |
|---|---|---|
| 数据库 | 容器内 mariadb-dump 导出 |
高(包含所有图片索引与用户数据) |
| 配置文件 | /data/lsky-pro/.env |
高(包含 APP_KEY,丢失将导致无法解析图片路径) |
| 存储数据 | /data/lsky-pro/storage/app/uploads |
高(所有原图文件) |
| 安装锁 | /data/lsky-pro/installed.lock |
中(防止重复触发初始化安装) |
由于远程服务器无法打开浏览器,需采用“授权传递”模式。
服务器端启动配置:
执行 rclone config,创建名为 onedrive 的配置。在 Use auto config? 处输入 n。
本地端获取 Token:
在本地电脑(Windows/Mac)下载 rclone,运行服务器给出的命令:
rclone authorize "onedrive" "XXXXXXXX"
完成授权:
将本地浏览器授权后生成的 JSON Token 粘贴回服务器。
rclone具体配置方法
注意:博主Onedrive账号为office 365,以下实际使用以此为例
安装:
1 | curl https://rclone.org/install.sh | sudo bash |
执行 rclone config。
输入 n 新建配置,命名为 onedrive。
Storage 选择 Microsoft OneDrive(通常编号在 30 左右,请核对列表)。
client_id 和 client_secret:直接回车跳过(使用默认值)。
region:选择 global (通常是 1):经实际使用,一定要选1,虽然4有365和china字样,不要选4
关键步骤: 当出现 Use auto config? 时,输入 n (即:Edit advanced config? [y/n] n 之后,询问 Use auto config? 时选 n)。
此时服务器会显示一行命令,类似:
rclone authorize "onedrive" "XXXXXXXXX"
在你的本地电脑(有浏览器的机器)上下载 rclone ,如果为mac或linux直接使用上述脚本安装即可。
打开终端(CMD、PowerShell 或 Terminal)。
输入服务器上给出的那行命令:
1 | rclone authorize "onedrive" "XXXXXXXXX" |
此时本地电脑会自动弹出浏览器,登录你的 OneDrive 账号并点击“授权”。

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

复制这段完整的 JSON 字符串。
将本地获取的 Token 粘贴回服务器的 result> 提示符处。
Your choice>:选择 OneDrive Personal or Business (通常是 1)。
Chose drive to use:rclone 会列出检测到的盘符,具体可打开网页版onedrive,下面的字符与浏览器地址对应上即可。

Is that OK?:确认配置,输入 y。
退出配置。
在服务器上执行以下命令,看是否能列出文件:
1 | rclone lsd onedrive: |

在服务器创建脚本文件,例如 /root/my_shells/lsky_backup.sh。脚本同时上传至zhyong26/Mac_shells: 个人使用脚本
注意查看脚本备注,需根据实际修改
1 | #!/bin/bash |
配置脚本每天凌晨 02:00 自动执行。
赋予执行权限:
chmod 700 /root/my_shells/lsky_backup.sh
编辑 Crontab:
输入 crontab -e 并添加以下行:
1 | 00 02 * * * /bin/bash /root/my_shells/lsky_backup.sh > /dev/null 2>&1 |
首先执行一次,脚本,即可在onedrive上查看备份好的文件了,这样再也不怕珍贵的图片丢失了。

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

chmod 700 确保仅 Root 用户可读。mariadb-dump 命令在容器内执行,若容器镜像非 MariaDB(如 MySQL),请根据实际镜像名调整命令。rclone.conf。生成时间: 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 栈,具备强落地性与跨平台参考价值。
#rclone #LskyPro #自动化备份 #OneDrive同步 #Docker运维
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。