发布于 

rclone WebDAV 挂载

背景:AList 一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。https://alist.nn.ci/zh/guide/
在家里一台小米手机termux上安装了AList,并加载了百度网盘、阿里云盘、移动网盘。通过AList可以方便访问多个网盘。然后再利用WebDAV挂载到本地工作电脑。方便文件共享存取。

windows linux rclone 加载webdav目录的用法

rclone WebDAV 挂载

用户:

windows linux rclone 加载webdav目录的用法

ChatGPT:

Windows、Linux 和 rclone 加载 WebDAV 目录的用法

以下是使用 rclone 在 Windows 和 Linux 上加载 WebDAV 目录的步骤:

步骤 1:安装 rclone

  • Windows:
    • https://rclone.org/downloads/ 下载适用于 Windows 的最新版 rclone。
    • 解压缩下载的文件。
    • 将 rclone.exe 所在的目录添加到系统环境变量 Path 中。
  • Linux:
    • 大多数 Linux 发行版都可以在软件包管理器中找到 rclone。例如,在 Ubuntu/Debian 上,可以使用以下命令安装:
      sudo apt update
      sudo apt install rclone

步骤 2:配置 rclone

  • 打开命令提示符(Windows)或终端(Linux)。

  • 运行以下命令启动 rclone 配置:

    rclone config
  • 按照提示操作。你需要提供以下信息:

    • 名称: 为你的 WebDAV 连接指定一个名称(例如,”webdav”)。
    • 类型: 选择 “webdav”。
    • URL: 输入你的 WebDAV 服务器的 URL(例如,”https://your-webdav-server.com/remote.php/webdav/")。
    • 用户名: 输入你的 WebDAV 用户名。
    • 密码: 输入你的 WebDAV 密码。
    • 其他选项: 根据需要配置其他选项,例如,TLS 验证等。
  • 完成后,输入 “q” 保存并退出配置。

步骤 3:加载 WebDAV 目录

  • 使用以下命令将 WebDAV 目录加载到本地目录:

    rclone mount webdav:/path/to/remote/directory /path/to/local/directory
  • 将 “webdav” 替换为你在步骤 2 中指定的 WebDAV 连接名称。

  • 将 “/path/to/remote/directory” 替换为你要加载的远程 WebDAV 目录路径。

  • 将 “/path/to/local/directory” 替换为你想要挂载 WebDAV 目录的本地目录路径。

注意:

  • 该命令将在后台运行。你可以使用 Ctrl + C 停止挂载。
  • 你需要保持终端或命令提示符窗口打开,以保持 WebDAV 目录的挂载状态。
  • 为了方便,你可以创建一个脚本来运行 rclone mount 命令。

其他 rclone 命令:

  • 列出远程 WebDAV 目录的内容:

    rclone ls webdav:/path/to/remote/directory
  • 将本地文件复制到远程 WebDAV 目录:

    rclone copy /path/to/local/file webdav:/path/to/remote/directory
  • 从远程 WebDAV 目录下载文件:

    rclone copy webdav:/path/to/remote/file /path/to/local/directory
  • 获取有关 rclone 的更多帮助:

    rclone --help

希望这些步骤能帮助你在 Windows 和 Linux 上使用 rclone 加载 WebDAV 目录。

用户:

Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed: cgofuse: cannot find winfsp

ChatGPT:

这个错误信息 “Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed: cgofuse: cannot find winfsp” 表明你在尝试使用 rclone 挂载 WebDAV 目录时遇到了问题,具体原因是缺少 WinFsp

WinFsp (Windows File System Proxy) 是一个允许在 Windows 上创建用户空间文件系统的平台。rclone 在 Windows 上需要 WinFsp 来实现文件系统的挂载。

要解决这个问题,你需要:

  1. 下载并安装 WinFsp:

  2. (可选) 重启电脑:

    • 虽然不是必须的,但为了确保 WinFsp 正确加载,建议重启电脑。
  3. 再次尝试挂载 WebDAV 目录:

    • 重新打开命令提示符或终端,然后再次运行 rclone mount 命令。

如果安装 WinFsp 后问题仍然存在,请确保:

  • 环境变量 PATH 已更新: WinFsp 的安装路径应该添加到系统的 PATH 环境变量中。
  • 使用的是最新版本的 rclone: 较旧版本的 rclone 可能与最新版本的 WinFsp 不兼容。

如果还有其他问题,请提供以下信息,以便我更好地帮助你:

  • 你使用的 Windows 版本。
  • 你使用的 rclone 版本。
  • 你尝试挂载的 WebDAV 服务器类型。
  • 完整的错误消息和相关的日志信息 (如果有)。

用户:

WriteFileHandle: Truncate: Can’t change size without –vfs-cache-mode >= writes

ChatGPT:

这个错误信息 “WriteFileHandle: Truncate: Can’t change size without –vfs-cache-mode >= writes” 表明你在尝试使用 rclone 写入 WebDAV 目录时遇到了缓存模式限制。

问题解析:

  • WriteFileHandle: Truncate: 表示 rclone 正在尝试修改文件大小(截断)。
  • Can't change size without --vfs-cache-mode >= writes 说明你当前的 rclone 配置不允许在没有启用写入缓存的情况下修改文件大小。

原因:

rclone 默认使用缓存机制来提高性能和减少对远程服务器的请求次数。然而,默认的缓存模式 (--vfs-cache-mode reads) 只缓存读取操作,而不缓存写入操作。这意味着 rclone 无法直接在远程服务器上修改文件大小,因为它没有缓存最新的文件数据。

解决方案:

要解决这个问题,你需要告诉 rclone 缓存写入操作。你可以通过以下两种方式实现:

  1. 使用 --vfs-cache-mode writes 参数:

    • 在执行 rclone mount 命令时,添加 --vfs-cache-mode writes 参数。例如:

      rclone mount webdav: /path/to/local/directory --vfs-cache-mode writes
    • 这将启用写入缓存,允许 rclone 缓存写入操作并在需要时将其同步到远程服务器。

  2. 使用 --vfs-cache-mode full 参数:

    • 如果你需要更强大的缓存功能,可以使用 --vfs-cache-mode full 参数。

      rclone mount webdav: /path/to/local/directory --vfs-cache-mode full
    • full 模式会缓存所有操作,包括读取、写入和文件属性更改。

注意:

  • 使用写入缓存可能会增加内存使用量,因为 rclone 需要将更改的数据存储在内存中,直到将其同步到远程服务器。
  • 启用写入缓存后,在断开连接或出现错误时,本地缓存中的数据可能会丢失。为了最大程度地减少数据丢失的风险,请确保定期将数据同步到远程服务器,并考虑使用数据备份解决方案。