跳到主要内容

文件导出

将悦库网盘中的文件批量导出到外部存储。支持三种目标:服务器本地目录、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 文件,便于保存、复用和审计。
  • 导出完成后抽查若干文件,确认数量与内容与悦库侧一致。