在Linux上挂载WebDAV
1.安装 davfs2
在终端中执行以下命令,安装 davfs2 包。
sudo apt-get update
sudo apt-get install davfs2
会弹出一个选项 键盘左箭头移动到 选择yes 回车确定
2.创建目录挂载点
创建一个目录作为挂载点:
sudo mkdir /mnt/webdav
3.配置 davfs2
编辑 davfs2.conf 文件以配置 davfs2。打开配置文件:
sudo nano /etc/davfs2/davfs2.conf
4.配置 davfs2 secrets 文件
创建 secrets 文件以存储 WebDAV 服务器的用户名和密码。在终端中执行以下命令
sudo nano /etc/davfs2/secrets
添加类似以下的行,替换为你的 WebDAV 服务器的用户名和密码:
http://192.168.1.1:2333/webdav username password
在这个命令中,http://192.168.1.1:2333/webdav
是你的WebDAV服务器的路径,username
是你的用户名,password
是你的密码。
请注意,你需要确保你的密码没有空格,如果你的密码中有空格,你需要使用反斜杠(\
)来转义空格。
添加完成后,你可以使用
sudo mount -t davfs http://192.168.1.1:2333/webdav /mnt/webdav
来挂载WebDAV,而不需要再次输入密码。
切记 WebDAV 无法挂载到根目录。这是因为 WebDAV 是一个基于 HTTP 的协议,它要求服务器能够处理针对根目录的请求。然而,大多数服务器都将根目录配置为不允许写入,这意味着 WebDAV 客户端无法创建或修改根目录中的文件。
5.设置文件权限:
为了确保 secrets 文件中的密码是安全的,设置文件权限:
sudo chmod 600 /etc/davfs2/secrets
6.监控Webdav挂载脚本
我用的是宝塔的计划任务 我设置的是5分钟运行监控一次 来达到docker一直重启的效果 代替开机自动运行 主要是怕运行途中挂了 又要重新去搞 麻烦
#!/bin/bash
# WebDAV URL
WEBDAV_URL="http://192.168.1.1:2333/webdav"
# 挂载点
MOUNT_POINT="/mnt/webdav"
# 检查是否已挂载
if mount | grep "on ${MOUNT_POINT} type" > /dev/null; then
echo "WebDAV已成功挂载在${MOUNT_POINT}"
else
echo "WebDAV未挂载,尝试重新挂载..."
# 尝试挂载
sudo mount -t davfs ${WEBDAV_URL} ${MOUNT_POINT}
# 检查挂载是否成功
if mount | grep "on ${MOUNT_POINT} type" > /dev/null; then
echo "重新挂载成功"
else
echo "挂载失败,请检查网络连接或WebDAV服务器状态"
fi
fi
http://192.168.1.1:2333/webdav
只需修改成你自己webdav地址即可。
7.卸载 WebDAV 共享
当你不再需要访问 WebDAV 共享时,可以使用 umount 命令卸载:
sudo umount /mnt/webdav
全文大部分参考下文 然后融入了我的一些理解。
[WebDav多平台挂载详细方法(Linux+Windows+IOS)_挂载webdav-CSDN博客](