news 2026/9/10 18:50:22

restic 备份网络文件系统时如何关闭进度扫描(--no-scan)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
restic 备份网络文件系统时如何关闭进度扫描(--no-scan)

restic 备份网络文件系统时如何关闭进度扫描(--no-scan)

【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/restic

当你用 restic 备份网络文件系统(如 NFS 挂载点)或 FUSE 挂载目录时,可能会发现备份速度不理想。其中一部分开销来自 restic 自身:备份启动后,restic 会并行遍历整个文件树,统计文件总数和总大小,用来在进度条里估算剩余时间(ETA)。文档明确指出,这次额外统计会产生额外的 I/O,"可以拖慢网络文件系统或 FUSE 挂载的备份"。

如果你不需要进度估算,restic 提供了backup命令的--no-scan选项来关闭这次预扫描,用"看不到进度估算"换取备份提速。本文说明该选项的适用条件、使用方法和结果判断。

适用前提

  • restic 版本--no-scan是在 0.15.0(2023-01-12 发布)中新增的选项,见 0.15.0 变更记录。使用 0.15.0 之前的版本时该选项不存在。
  • 已有可用的 restic 仓库(通过restic init创建),备份时需要提供仓库路径和密码。
  • 备份目标是网络文件系统或 FUSE 挂载点这类遍历开销较大的目录。文档中描述的收益场景是"network file systems or FUSE mounts",对于本地磁盘上的备份,文档未说明该选项能带来类似收益。

为什么预扫描会拖慢网络文件系统备份

restic 的backup命令会启动一个独立的扫描器进程,遍历文件树以获取总大小和文件/目录数量,并用这些信息计算 ETA(来源:CHANGELOG.md 中 Enhancement #3931 的说明)。对本地文件系统来说这次遍历开销不大,但网络文件系统上每次 stat/遍历都可能伴随网络往返,因此扫描本身会成为明显的额外负担。

关闭扫描的代价同样明确:进度条中依赖初始扫描的"预计总文件数、总大小"以及基于总体的完成时间估算将不再显示,见 Tuning parameters — Disabling backup progress estimation。

执行步骤

备份命令的基本形式与 Backing up 中一致,只需追加--no-scan。以下示例中/srv/restic-repo是文档使用的仓库路径示例,/mnt/nfs-share代表你的网络文件系统挂载点,执行时替换为实际路径:

restic -r /srv/restic-repo --no-scan backup /mnt/nfs-share

如果希望看到更详细的输出,可以加上--verbose

restic -r /srv/restic-repo --no-scan --verbose backup /mnt/nfs-share

该选项也可写成默认形式--no-scan[=false],含义是"do not run scanner to estimate size of backup"(见 restic-backup 手册页)。

结果验证

restic 不传--verbose时会显示实时进度条,文档给出的示例格式(文档示例):

[0:34] 2.96% 867 files 5.046 GiB, total 307867 files 170.438 GiB, 0 errors ETA 18:35

进度条从左到右依次为:已用时间、完成百分比、已处理文件数及其大小、本次备份预计的总文件数与总大小、错误计数、预计完成时间。其中"预计总数/总大小"来自初始扫描,--no-scan正是禁用这一环节(见 Backing up)。因此启用--no-scan后,进度显示中不再提供总体总量与 ETA 估算,但仍会显示已处理文件数、大小和错误数。

备份成功的判断与常规备份一致:命令结束时输出本次备份的文件统计,并出现类似snapshot 40dc1520 saved的快照保存提示(文档示例输出)。错误计数(N errors)应为 0;出错的文件路径会打印在进度条上方。

另外注意文档的一个提示:实时进度显示的是"已处理文件",而非实际传输的数据量——传输量可能因去重而更少,也可能更多。

限制与注意事项

  • 代价是失去进度估算:这是文档明确说明的权衡("at the cost of not seeing a progress estimate"),不是 bug,关闭扫描后没有预计完成时间属于正常现象。
  • 该选项只影响备份时的进度估算扫描,它不改变 restic 为了完成备份而对源文件本身的遍历与读取——备份仍需读取每个文件内容,选项消除的只是额外的那一遍统计 I/O。
  • 如果备份的是 FUSE 类文件系统且文件 inode 不稳定,可参考 Backing up 中关于--ignore-inode的说明,它与--no-scan相互独立,按需组合。
  • 其他与备份性能相关的调优项(后端连接数、压缩级别、pack size 等)见 Tuning parameters,它们与--no-scan解决的问题不同,可分别评估。

【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/restic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 18:50:14

Flutter文本按百分比截断:TextPainter原理与字符边界实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 18:47:35

Codex启动模板中如何正确选择Skill:一套筛选项选型评估框架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 18:44:19

OpenClaw与SAP协议融合:提升AI Agent通信效率

1. OpenClaw与SAP协议融合的背景与价值在AI Agent技术快速发展的当下,通信架构的效率瓶颈日益凸显。传统AI系统通常采用简单的请求-响应模式,这种单向通信机制在面对复杂任务调度、多Agent协作等场景时显得力不从心。OpenClaw作为一个新兴的AI Agent开发…

作者头像 李华