From 2a50662bef9769b499bae00affcbe9be4410afe1 Mon Sep 17 00:00:00 2001 From: FNS Service Date: Tue, 21 Apr 2026 19:34:40 +0800 Subject: [PATCH] Update from Sync Service --- 实践积累/AI工程/Rclone管理WebDAV笔记.md | 331 ++++++++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100755 实践积累/AI工程/Rclone管理WebDAV笔记.md diff --git a/实践积累/AI工程/Rclone管理WebDAV笔记.md b/实践积累/AI工程/Rclone管理WebDAV笔记.md new file mode 100755 index 0000000..ee0f29b --- /dev/null +++ b/实践积累/AI工程/Rclone管理WebDAV笔记.md @@ -0,0 +1,331 @@ +# 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)