教程:在debian下使用 Rclone 挂载 WebDAV 并设置 Systemd 开机自启动(两台公网服务器挂载其中一台的磁盘)

2025-04-25 - 18 Views - 0 Goods - Nothing

本教程将指导你如何使用 rclone 挂载 WebDAV 服务器到本地目录,并使用 systemd 服务实现开机自启动,而无需手动运行命令。 本教程省略了日志备份部分,以简化配置。

先决条件:

  • 安装 rclone: 确保你的系统上已经安装了 rclone。 你可以从 rclone 官方网站下载并安装:https://rclone.org/downloads/
  • 或者使用sudo apt update & sudo apt install rclone 来进行安装。
  • 配置 rclone: 你需要配置 rclone 以连接到你的 WebDAV 服务器。(被挂载磁盘的服务器可以使用各种软件的webdav这边我使用的是alist,教程请参考WebDAV | AList文档
  • 创建挂载点目录: 创建一个本地目录,用于挂载 WebDAV 服务器。

步骤 1:配置 Rclone

  1. 打开终端并运行 rclone config 命令: rclone config
  2. 按照提示进行操作。 rclone 会引导你完成配置过程。 你需要提供以下信息:
    • 存储类型: 选择 "WebDAV"。
    • 服务器 URL: 输入你的 WebDAV 服务器的 URL。
    • 用户名: 输入你的 WebDAV 服务器的用户名。
    • 密码: 输入你的 WebDAV 服务器的密码。
    • 高级配置: 通常可以跳过高级配置。
    配置完成后,rclone 会将配置信息保存在 ~/.config/rclone/rclone.conf 文件中。

步骤 2:创建挂载点目录

创建一个本地目录,用于挂载 WebDAV 服务器。 例如,我们创建一个名为 /opt/wj 的目录:

sudo mkdir -p /opt/wj

步骤 3:创建 Systemd 单元文件

使用你喜欢的文本编辑器创建一个名为 rclone-mount.service 的文件,并将其保存在 /etc/systemd/system/ 目录下。 sudo nano /etc/systemd/system/rclone-mount.service

将以下内容复制到文件中。 请务必根据你的实际情况修改以下值:

[Unit]
Description=Rclone Mount Service
After=network.target

[Service]
Type=simple
User=<你的用户名>
Group=<你的组名>
ExecStart=/usr/bin/rclone mount <你的rclone配置名>: /opt/wj --allow-other --vfs-cache-mode writes
ExecStop=/bin/fusermount -u /opt/wj
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

保存并关闭文件。

步骤 4:设置目录权限

确保运行 rclone 的用户具有访问挂载点目录的权限。

sudo chown <你的用户名>:<你的组名> /opt/wj

<你的用户名><你的组名> 替换为你的用户名和组名。

步骤 5:启用和启动服务

  1. 重新加载 systemd 配置: sudo systemctl daemon-reload
  2. 启用服务,使其在启动时自动启动: sudo systemctl enable rclone-mount.service
  3. 启动服务: sudo systemctl start rclone-mount.service

步骤 6:检查服务状态

验证服务是否正在运行:

sudo systemctl status rclone-mount.service

如果服务正在运行,你应该看到 Active: active (running)

步骤 7:验证挂载

  1. 检查挂载点: ls -l /opt/wj 你应该看到 WebDAV 服务器上的文件和目录。
  2. 测试访问: 尝试从 /opt/wj 目录读取和写入文件:
    • 读取: cat /opt/wj/<某个文件> # 将 <某个文件> 替换为 WebDAV 服务器上的文件名
    • 写入(创建一个新文件): echo "Hello, world!" > /opt/wj/test.txt
    • 验证写入: cat /opt/wj/test.txt 你应该看到 "Hello, world!"。 此外,检查 WebDAV 服务器,确保 test.txt 文件已成功创建。

故障排除

如果挂载不工作,请按照以下步骤进行故障排除:

  1. 检查 systemd 单元文件: 确保 ExecStart 行中的所有路径和配置名称都正确。
  2. 权限问题: 确保运行 rclone 的用户具有访问 /opt/wj 目录的权限。
  3. rclone 配置问题: 使用 rclone config 命令验证配置是否正确。
  4. 网络问题: 确保服务器可以访问 WebDAV 服务器。
  5. 重新加载和重启服务: 在修改 systemd 单元文件后,需要重新加载 systemd 配置并重启服务: sudo systemctl daemon-reload sudo systemctl restart rclone-mount.service

常见错误和解决方法:

  • 权限错误: 确保 UserGroup 行中的用户名和组名正确,并使用 chown 命令更改 /opt/wj 目录的所有者和组。
  • rclone 配置错误: 仔细检查 rclone config 中的配置。
  • 网络问题: 确保服务器可以访问 WebDAV 服务器。
  • 挂载点已存在: 如果 /opt/wj 目录中已存在文件或目录,rclone 可能无法挂载。 尝试将挂载点更改为另一个空目录。
  • WebDAV 服务器需要身份验证,但未提供: 确保 rclone config 中已正确配置用户名和密码。

卸载挂载点

如果需要手动卸载挂载点,可以使用以下命令:

sudo fusermount -u /opt/wj

或者停止服务:

sudo systemctl stop rclone-mount.service

总结

通过使用 systemd 服务,你可以轻松地在后台运行 rclone mount,并实现开机自启动,而无需使用 nohup。 本教程省略了日志备份部分,简化了配置。 记住,仔细检查配置是解决任何问题的关键。 希望本教程对你有所帮助!

转载请注明原文链接:首页 -> 日常 -> 教程:在debian下使用 Rclone 挂载 WebDAV 并设置 Systemd 开机自启动(两台公网服务器挂载其中一台的磁盘)
  • 微信打赏

AnHui.HuaiNan

我很感谢那些爱过我的人.