使用 rclone 挂载 WebDAV 服务(含 systemctl 服务与高级配置)
# 前言
rclone
是一个强大的命令行工具,可以用来与多种云存储服务交互。本文将介绍如何使用 rclone
挂载 WebDAV 服务,并通过 systemctl
配置为系统服务,同时实现缓存和高级配置。
# 1. 安装 rclone
确保系统已安装 rclone
,可以通过以下命令检查版本:
rclone version
1
如果未安装,可以参考官方文档进行安装:rclone 安装指南 (opens new window)
# 2. 配置 WebDAV 远程存储
首先,使用以下命令创建 WebDAV 配置:
rclone config
1
按照提示完成配置,例如:
- Name: webdav_remote
- Type: WebDAV
- URL: 输入 WebDAV 服务器地址
- User: 输入用户名
- Password: 输入密码
完成后,可以通过以下命令测试连接是否正常:
rclone ls webdav_remote:
1
# 3. 配置挂载点
选择一个本地目录作为挂载点,例如 /mnt/webdav
:
sudo mkdir -p /mnt/webdav
1
# 4. 配置缓存
为了提高性能,可以使用 rclone 的缓存功能。修改挂载命令,添加 --vfs-cache-mode
参数:
rclone mount webdav_remote: /mnt/webdav \
--vfs-cache-mode full \
--cache-dir /path/to/cache \
--vfs-cache-max-size 10G \
--vfs-cache-max-age 1h \
--allow-other \
--daemon
1
2
3
4
5
6
7
2
3
4
5
6
7
参数说明:
--vfs-cache-mode full
: 启用完整缓存模式。--cache-dir
: 指定缓存目录,例如/path/to/cache
。--vfs-cache-max-size
: 设置缓存的最大大小,例如10G
。--vfs-cache-max-age
: 设置缓存的最大有效时间,例如1h
。--allow-other
: 允许其他用户访问挂载点。--daemon
: 后台运行。
# 5. 配置 systemctl 服务
为了实现自动挂载,可以将挂载命令配置为 systemctl 服务。创建一个新的服务文件:
sudo nano /etc/systemd/system/rclone-webdav.service
1
填写以下内容:
[Unit]
Description=Rclone Mount for WebDAV
Documentation=https://rclone.org/commands/rclone_mount/
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/rclone mount webdav_remote: /mnt/webdav \
--vfs-cache-mode full \
--cache-dir /path/to/cache \
--vfs-cache-max-size 10G \
--vfs-cache-max-age 1h \
--allow-other
ExecStop=/bin/fusermount -u /mnt/webdav
Restart=always
RestartSec=10
User=your-username
Group=your-group
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
保存并退出后,执行以下命令加载服务:
sudo systemctl daemon-reload
sudo systemctl enable rclone-webdav.service
sudo systemctl start rclone-webdav.service
1
2
3
2
3
可以通过以下命令检查服务状态:
sudo systemctl status rclone-webdav.service
1
# 6. 高级配置
# 日志记录
可以添加日志参数,将日志输出到指定文件:
--log-file /var/log/rclone-webdav.log --log-level INFO
1
完整示例:
ExecStart=/usr/bin/rclone mount webdav_remote: /mnt/webdav \
--vfs-cache-mode full \
--cache-dir /path/to/cache \
--vfs-cache-max-size 10G \
--vfs-cache-max-age 1h \
--allow-other \
--log-file /var/log/rclone-webdav.log \
--log-level INFO
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 配置带宽限制
如果需要限制带宽,可以添加以下参数:
--bwlimit 10M
1
# 7. 常见问题
# 挂载点无法访问
检查服务状态:
sudo systemctl status rclone-webdav.service
1
查看日志文件:
cat /var/log/rclone-webdav.log
1
# 文件权限问题
确保挂载时使用了 --allow-other
参数,并正确设置了服务中的 User
和 Group
。
上次更新: 4/24/2025