WebDAV

明白了,你现在想走 WebDAV 路径,把群晖共享目录挂载到你的 Arch Linux,然后再用 rsync 进行备份。下面我给你一个详细的方案。


1️⃣ 安装 davfs2

在 Arch Linux 上可以通过 pacman 安装:

sudo pacman -S davfs2

2️⃣ 创建挂载点

选择一个本地目录作为挂载点,例如:

mkdir -p ~/syno-nfs

3️⃣ 挂载 WebDAV

手动挂载命令:

sudo mount -t davfs http://192.168.10.2:5005/nfs/ ~/syno-nfs

或者如果你用 HTTPS:

sudo mount -t davfs https://192.168.10.2:5005/nfs/ ~/syno-nfs
sudo mount -t davfs https://192.168.10.2:5005/nfs/ ~/syno-nfs -o uid=$(id -u),gid=$(id -g)

4️⃣ 配置免密挂载(可选)

编辑 /etc/davfs2/secrets~/.davfs2/secrets,写入:

https://192.168.10.2:5005/nfs/ ding Sy88888888
mount -t davfs https://192.168.10.2:5005/nfs/ ~/syno-nfs

5️⃣ 测试挂载

挂载成功后:

ls ~/syno-nfs

你应该能看到群晖 /nfs/ 下的内容。


6️⃣ 使用 rsync 备份

挂载后,你就可以用本地路径作为源或目标:

rsync -av ~/Downloads/backup/rime_2025-11-04-991384058.tar.gz ~/syno-nfs/backup/

💡 总结


我可以帮你写一个 完整的 Arch Linux WebDAV 挂载 + rsync 自动备份脚本,实现一键备份群晖。

你希望我写吗?


明白了,你现在挂载 WebDAV 成功了,但出现了 Permission denied / Operation not permitted 错误。这其实不是 rsync 的问题,而是 WebDAV 挂载的权限问题

我们来分析和解决:


1️⃣ 问题原因

  1. 你看到的错误:
rsync: [receiver] mkstemp "/home/ding/syno-nfs/app/.rime_2025-11-04-991384058.tar.gz.AmsFoq" failed: Permission denied (13)
rsync: [generator] chgrp "...": Operation not permitted (1)

2️⃣ 解决方案

方案 A:挂载时指定用户 UID/GID

尝试卸载再挂载,指定当前用户:

sudo umount ~/syno-nfs
sudo mount -t davfs http://192.168.10.2:5005/nfs/ ~/syno-nfs \
  -o uid=$(id -u),gid=$(id -g)

方案 B:使用 --inplace 或者 --no-owner 选项

rsync 默认会尝试保存文件属性和组,如果 WebDAV 不支持,就会报错:

rsync -av --no-owner --no-group ~/Downloads/backup/rime_2025-11-04-991384058.tar.gz ~/syno-nfs/

方案 C:换挂载目录

mkdir -p ~/syno-backup
sudo mount -t davfs http://192.168.10.2:5005/backup/ ~/syno-backup \
  -o uid=$(id -u),gid=$(id -g)
rsync -av ~/Downloads/backup/rime_2025-11-04-991384058.tar.gz ~/syno-backup/

💡 总结建议

  1. 挂载时一定用 uid/gid 指定你自己的用户。

  2. 避免写入 root 或其他用户拥有的目录。

  3. rsync--no-owner --no-group 避免权限报错。


我可以帮你写一个 完整的 WebDAV + rsync 自动备份命令模板,直接挂载群晖备份目录并自动上传,不会出现权限问题。

你希望我写吗?


太好了,现在 rsync 已经可以通过 WebDAV 成功传输文件了 ✅

接下来,我们可以配置 系统开机自动挂载 WebDAV,让你的备份目录在重启后依然可用。


1️⃣ 修改 davfs2 的 secrets

你已经编辑过 /etc/davfs2/secrets,确保内容类似:

http://192.168.10.2:5005/nfs/ ding 你的密码

2️⃣ 配置普通用户可挂载

编辑 /etc/fstab,增加一行:

http://192.168.10.2:5005/nfs/  /home/ding/syno-nfs  davfs  user,rw,uid=1000,gid=1000  0  0

解释:

⚠️ 注意:uidgid 对应你的 Arch 用户,可以用 id ding 查看。


3️⃣ 设置自动挂载

方法 A:普通用户登录自动挂载

  1. 确保你的用户在 davfs2 用户组:
sudo usermod -aG davfs2 ding
  1. 编辑 ~/.davfs2/davfs2.conf(如果不存在,复制系统模板):
mkdir -p ~/.davfs2
cp /etc/davfs2/davfs2.conf ~/.davfs2/
vim ~/.davfs2/davfs2.conf
use_locks       0
ask_auth 0

方法 B:系统启动自动挂载(systemd)

  1. 创建挂载服务 /etc/systemd/system/syno-nfs.mount
[Unit]
Description=Mount Synology WebDAV
After=network-online.target
Wants=network-online.target

[Mount]
What=http://192.168.10.2:5005/nfs/
Where=/home/ding/syno-nfs
Type=davfs
Options=rw,uid=1000,gid=1000

[Install]
WantedBy=multi-user.target
  1. 启动并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl enable --now syno-nfs.mount
  1. 检查挂载:
ls -lh ~/syno-nfs/

💡 提示:

rsync -av ~/Downloads/backup/ ~/syno-nfs/app/

我可以帮你写一份 完整的自动挂载 + 定时 rsync 备份 systemd 配置,这样开机就挂载,并每天自动备份文件。

你希望我帮你写吗?