遇到这样的一个需求:要求把应用服务器上的文件保存到 Nextcloud 上。本来想通过 alist 通过 WebDA 来实现,现在通过davfs2 在 Linux 上通过命令行就可以实现。
安装 davfs2 WebDAV 文件系统驱动程序,它允许像挂载任何其他远程文件系统一样挂载 WebDAV 共享。使用以下命令将其安装在 Debian/Ubuntu 上:
apt-get install davfs2
使用此命令将其安装在 CentOS、Fedora 和 openSUSE 上:
yum install davfs2
将 root 添加到 davfs2 群组中:
usermod -aG davfs2 root
mkdir /opt/oa/upload_files
mkdir ~/.davfs2
cp /etc/davfs2/secrets ~/.davfs2/secrets
将root 为所有者,并将权限设为只读所有者:
chown root:root ~/.davfs2/secrets
chmod 600 ~/.davfs2/secrets
把 nextcloud 服务器 URL 和 Nextcloud 用户名和密码 ,添加到 secrets 文件末尾:
http://***.***.***:8080/remote.php/dav/files/USERNAME/ <username> <password>
将挂载信息添加到 /etc/fstab :
http://***.***.***:8080/remote.php/dav/files/USERNAME/ /opt/oa/upload_files davfs user,rw,auto 0 0
通过运行以下命令来测试它是否挂载并进行身份验证:
mount /opt/oa/upload_files
unmount /opt/oa/upload_files
现在,每次您登录到 Linux 系统时,您的 Nextcloud 共享都应该通过 WebDAV 自动挂载到您的 upload_files 目录中。如果您更喜欢手动挂载它,请更改为 auto noauto in /etc/fstab 。