跳到主要内容

修复传输过程中文件被修改的问题——使用 RcloneView 解决云同步冲突

· 阅读需 6 分钟
Tayson
Senior Engineer

当文件在 RcloneView 同步过程中发生变化时,传输可能会失败、产生部分上传,或生成不一致的云端副本——本文介绍如何检测并解决每种情况。

云同步错误的一个常见原因是文件在同步任务进行期间被修改、锁定或写入。应用程序正在写入的数据库文件、在 Office 中打开的文档,或正在被运行中的服务持续追加写入的日志文件,都可能导致部分上传或传输失败。RcloneView 会在日志中清晰地显示这些错误,而 rclone 提供了多个标志来妥善处理这些情况。

RcloneView 应用预览

在一个地方管理和同步所有云端

RcloneView 是 rclone 的跨平台 GUI。通过清爽的可视化界面比较文件夹、传输或同步文件,并自动化多云工作流。

  • 一键作业:复制 · 同步 · 比较
  • 调度器与历史记录,实现可靠的自动化
  • 支持 Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTP 等
WindowsmacOSLinux
免费开始使用 →

核心功能免费。Plus 提供自动化功能。

在 RcloneView 日志中识别文件占用错误

当文件在同步过程中被锁定或修改时,rclone 通常会报告如下错误:

  • Failed to copy: file changed under us - trying again
  • source file is being written to
  • partial read detected

在 RcloneView 中,这些错误会显示在界面底部的日志(Log)标签页中。同步任务完成后,请检查日志中是否存在表示文件修改冲突的 ERROR 条目。**任务历史(Job History)**视图也会为存在传输失败文件的任务显示 Errored 状态。

Job history showing file transfer errors in RcloneView

使用 --ignore-errors 和重试逻辑

默认情况下,RcloneView 的同步任务会配置重试次数(默认:3 次),自动重新尝试失败的传输。对于短暂被锁定的文件(例如,被应用程序短暂打开后又关闭的文件),重试通常能在后续尝试中成功。

对于某些文件持续被锁定的同步任务(例如,处于活动状态的数据库文件),请在同步任务配置的自定义 rclone 标志中添加 --ignore-errors。这会告知 rclone 即使部分文件失败,也继续同步其他文件,尽可能完成同步,并记录失败情况以供查阅。

Configuring sync job settings to handle file-in-use errors in RcloneView

将活动应用程序文件排除在同步范围之外

解决文件占用冲突的最佳长期方案,是将那些始终处于使用状态的文件从同步任务范围中排除。RcloneView 的过滤设置(同步向导中的第 3 步)支持自定义排除规则:

  • 排除 SQLite 数据库:添加 *.db-journal*.db-wal,以排除正在写入的预写日志(write-ahead log)
  • 排除 Office 临时文件:添加 ~$*,以排除 Word/Excel 锁定文件
  • 排除正在写入的日志文件:添加 *.log 或特定模式

这些过滤规则可以防止 RcloneView 尝试同步在任务期间必然处于使用状态的文件,从而彻底消除这一类错误。

Setting up file exclusion filters to avoid sync conflicts in RcloneView

运行模拟运行以验证过滤规则的有效性

添加排除过滤规则后,请对同步任务运行一次模拟运行(dry run),以确认被过滤的文件不再出现在传输列表中。模拟运行的输出会显示所有将被复制的文件——请在正式运行同步之前,验证你的活动数据库文件、锁定文件和已打开的文档均未出现在列表中。

Using dry run to verify filtered file list before syncing in RcloneView

快速上手

  1. rcloneview.com 下载 RcloneView
  2. 在同步失败后,检查日志标签页和任务历史中的文件修改错误。
  3. 在同步向导中为始终处于使用状态的文件添加自定义排除过滤规则。
  4. 运行模拟运行以确认过滤规则生效,然后重新执行同步任务。

在 RcloneView 中处理文件占用冲突,关键在于了解应排除哪些文件以及如何配置重试——一旦配置正确,你的同步任务就能每次都顺畅运行。


相关指南:

支持的云服务商

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces