文件导出
将悦库网盘中的文件批量导出到外部存储。支持三种目标:服务器本地目录、FTP 服务器、SMB/CIFS 共享。
前提:只能在悦库服务器本机运行,且当前账号需要对导出源路径拥有
download(下载)权限。
常用命令(复制使用)
导出到本地目录:
opscli export create --from /archive/docs --to /data/export/docs
导出到 FTP:
opscli export create --from /archive/docs --to ftp://192.168.1.10/backup/docs --username ftpuser --password ftppass
导出到 SMB/CIFS 共享:
opscli export create --from /archive/docs --to smb://192.168.1.20/nas/export/docs --username smbuser --password smbpass
导出指定用户的我的空间:
opscli export create --from user://zhangsan --to /data/export/zhangsan
全量导出(需管理员权限):
opscli export create --from / --to /data/export/full
一次导出多个来源(分号分隔,串行执行):
opscli export create --from "/archive/docs;/archive/video" --to /data/export
导出源格式
| 格式 | 说明 |
|---|---|
/仓库名/目录 | 悦库中的仓库、文件夹或单文件 |
/(或省略 --from) | 全量导出整个网盘(需管理员权限) |
user://账号 | 导出该用户我的空间的全部文件 |
user://* | 依次导出所有用户的我的空间(需管理员权限) |
目录结构保留规则
导出时在目标路径下保留悦库侧的相对目录结构:
--from /archive/docs --to /local/out→ 悦库中/archive/docs/2024/report.pdf导出为/local/out/docs/2024/report.pdf--from user://zhangsan --to /local/out→ 该用户的文件按原目录结构平铺到/local/out/
批量导出(JSON 文件)
推荐用于重复执行或需要审计的场景。
1. 准备批量任务文件 export-batch.json:
[
{ "from": "/archive/docs", "to": "/data/export/docs" },
{ "from": "user://zhangsan",
"to": "ftp://192.168.1.10/backup/zhangsan",
"username": "ftpuser", "password": "ftppass" },
{ "from": "/video-archive",
"to": "smb://192.168.1.20/nas/export/video",
"username": "smbuser", "password": "smbpass",
"on_conflict": "resume" }
]
2. 执行:
opscli export batch --file /data/tasks/export-batch.json
遇错继续:
opscli export batch --file /data/tasks/export-batch.json --on-error continue
冲突处理
目标已存在同名文件时,通过 --on-conflict 控制行为:
| 值 | 说明 |
|---|---|
skip(默认) | 跳过已存在的文件 |
overwrite | 覆盖已存在的文件 |
resume | 续传:已存在且大小相同则跳过,否则重新导出 |
查看与管理任务
查看单个任务状态:
opscli export status --taskId 7
查看最近任务列表:
opscli export list
opscli export list --count 50
续传中断的任务:
opscli export run --taskId 7
取消任务:
opscli export terminate --taskId 7
删除任务记录:
# 删除单个任务
opscli export delete --taskId 7
# 删除 30 天前创建的任务
opscli export delete --before-days 30
# 预览将被删除的内容(不实际执行)
opscli export delete --all --dry-run
# 删除所有任务
opscli export delete --all
正在运行的任务会被自动跳 过,不会强制删除。建议先用
--dry-run确认范围。
常见问题与排障
- 提示"权限不足: 缺少 download 权限":检查当前账号是否对导出源路径有下载权限;全量导出(
--from /或user://*)需要管理员账号。 - FTP/SMB 连接失败:确认目标地址、端口、用户名和密码正确,且悦库服务器能访问目标主机的对应端口(FTP 21 / SMB 445)。
- 本地目标路径不可写:检查目录权限;不存在的目录会自动创建。
- 提示"尚未登录":先执行
opscli login。
运维建议
- 首次导出使用小目录验证流程,确认结构和文件内容正确后再做全量导出。
- 大批量导出尽量避开业务高峰期。
- 批量任务优先使用 JSON 文件,便于保存、复用和审计。
- 导出完成后抽查若干文件,确认数量与内容与悦库侧一致。