# Rclone 管理 WebDAV 笔记 > 使用 rclone 命令行工具管理 Obsidian WebDAV 服务器 --- ## ✅ 实测成功! **rclone 可以连接你的 WebDAV 服务器!** --- ## 安装 rclone ### Linux/macOS/Windows ```bash # 下载最新版本 curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip sudo mv rclone-*-linux-amd64/rclone /usr/local/bin/ sudo chmod +x /usr/local/bin/rclone rm -rf rclone-*-linux-amd64* # 验证安装 rclone --version ``` ### Docker 环境(无需安装) ```bash # 直接下载二进制文件 wget https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip ./rclone-v*-linux-amd64/rclone --version ``` --- ## 配置 WebDAV 远程 ### 1. 交互式配置 ```bash rclone config # 步骤: # n) 新建远程 # name: obsidian-webdav # Storage: webdav # URL: http://8.134.220.229:13803/实践积累 # vendor: other # user: admin # password: blackhill ``` ### 2. 手动创建配置文件 ```bash mkdir -p ~/.config/rclone cat > ~/.config/rclone/rclone.conf << 'EOF' [obsidian-webdav] type = webdav url = http://8.134.220.229:13803/实践积累 vendor = other user = admin pass = blackhill EOF ``` ⚠️ **注意**:某些 WebDAV 服务器不支持 Digest 认证,需要用 Basic 认证。 ### 3. 测试连接 ```bash # 列出所有文件 rclone ls obsidian-webdav: --max-depth 5 # 列出所有文件夹 rclone lsd obsidian-webdav: ``` --- ## 常用命令 ### 查看文件 ```bash # 列出根目录 rclone ls obsidian-webdav: # 列出指定目录 rclone ls obsidian-webdav:AI工程 # 递归列出所有文件 rclone ls obsidian-webdav: --max-depth 10 # 按大小排序显示 rclone ls obsidian-webdav: --max-depth 1 | sort -k1 -n ``` ### 上传文件 ```bash # 上传单个文件 rclone copy /path/to/file.md obsidian-webdav:目标文件夹/ # 上传整个目录 rclone copy /path/to/folder obsidian-webdav:目标文件夹/ # 示例:上传到 AI工程 文件夹 rclone copy ~/笔记/AI工程.md obsidian-webdav:AI工程/ ``` ### 下载文件 ```bash # 下载单个文件 rclone copy obsidian-webdav:AI工程/code-reviewer技能.md /tmp/ # 下载整个文件夹 rclone copy obsidian-webdav:AI工程 /tmp/ai-folder/ ``` ### 同步本地与远程 ```bash # 同步本地文件夹到 WebDAV(单向) rclone sync /path/to/local obsidian-webdav:remote --progress # 双向同步(需要小心使用) rclone bisync /path/to/local obsidian-webdav:remote --progress ``` ### 删除文件 ```bash # 删除远程文件 rclone delete obsidian-webdav:文件夹/文件名.md # 删除空文件夹 rclone rmdir obsidian-webdav:空文件夹/ ``` ### 搜索文件 ```bash # 搜索文件名包含关键字的文件 rclone ls obsidian-webdav: | grep "关键字" # 搜索多个关键词 rclone ls obsidian-webdav: | grep -E "关键词1|关键词2" ``` --- ## 挂载为本地目录(可选) 将 WebDAV 挂载为本地文件夹,像操作本地文件一样使用。 ### 需要 FUSE 支持 ```bash # Debian/Ubuntu 安装 fuse sudo apt-get install fuse # 检查 FUSE 可用 cat /proc/filesystems | grep fuse ``` ### 挂载命令 ```bash # 创建挂载点 mkdir -p ~/obsidian-webdav # 前台运行(测试用) rclone mount obsidian-webdav: ~/obsidian-webdav --vv # 后台运行 rclone mount obsidian-webdav: ~/obsidian-webdav \ --daemon \ --vfs-cache-mode writes \ --allow-other # 查看挂载状态 df -h | grep obsidian # 卸载 fusermount -uz ~/obsidian-webdav ``` ### 开机自启(systemd) ```bash cat > ~/.config/systemd/user/rclone-obsidian.service << 'EOF' [Unit] Description=rclone mount for Obsidian WebDAV After=network.target [Service] Type=simple ExecStart=/usr/local/bin/rclone mount obsidian-webdav: %h/obsidian-webdav \ --vfs-cache-mode writes \ --allow-other ExecStop=/bin/fusermount -uz %h/obsidian-webdav Restart=on-failure [Install] WantedBy=default.target EOF # 启用服务 systemctl --user enable rclone-obsidian.service systemctl --user start rclone-obsidian.service ``` --- ## 与 Obsidian Headless 配合使用 安装 rclone 后,可以配合 obsidian-headless 使用: ```bash # 1. 挂载 WebDAV 为本地目录 rclone mount obsidian-webdav: ~/obsidian-webdav --daemon --vfs-cache-mode writes # 2. 配置 obsidian-headless 使用该目录 echo "~/obsidian-webdav" > ~/.config/obsidian-headless/vault-path # 3. 使用自然语言管理笔记 obs创建笔记 新想法 obs搜索笔记 关键字 obs列出所有 ``` --- ## 你的服务器配置 ``` 服务器: http://8.134.220.229:13803 路径: /实践积累 用户名: admin 密码: blackhill ``` --- ## 常见问题 ### Q: 连接返回 401 Unauthorized **原因**:某些 WebDAV 服务器不支持 Digest 认证 **解决**:在配置文件中使用明文密码(rclone 会自动处理) ``` pass = blackhill # 不要加密 ``` ### Q: 文件名中文乱码 **解决**:确保终端编码为 UTF-8 ```bash export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 ``` ### Q: 挂载后访问很慢 **解决**:使用 VFS 缓存模式 ```bash rclone mount obsidian-webdav: ~/obsidian-webdav \ --vfs-cache-mode writes \ --vfs-cache-max-age 168h \ --vfs-write-back 5s ``` ### Q: 挂载占用大量内存 **解决**:限制缓存大小 ```bash rclone mount obsidian-webdav: ~/obsidian-webdav \ --vfs-cache-mode writes \ --buffer-size 256M ``` --- ## 完整工作流示例 ```bash # 1. 配置远程 rclone config << 'EOF' n obsidian-webdav webdav http://8.134.220.229:13803/实践积累 other admin blackhill y EOF # 2. 查看文件结构 rclone lsd obsidian-webdav: # 3. 挂载为本地目录 mkdir -p ~/obsidian-webdav rclone mount obsidian-webdav: ~/obsidian-webdav --daemon --vfs-cache-mode writes # 4. 在 Obsidian 中直接使用 # 文件会自动同步到 WebDAV # 5. 卸载 fusermount -uz ~/obsidian-webdav ``` --- ## 参考链接 - [rclone 官网](https://rclone.org) - [rclone WebDAV 配置](https://rclone.org/webdav/) - [obsidian-headless GitHub](https://github.com/imakid/obsidian-headless)