全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器主机交流
IP归属甄别会员请立即修改密码Sharktech防护
查看: 2531|回复: 23

你们要的一键,支持WebDAV的开机自动挂载。

[复制链接]
发表于 2017-2-23 13:59:54 | 显示全部楼层 |阅读模式
本帖最后由 Vicer 于 2017-3-25 01:57 编辑

具体更新请看博客文章:
https://moeclub.org/2017/03/08/13/

玩了一下,感觉没多大用,如果挂VPS上,主要用途就是加个Nginx.
我主要是想用来挂PT,然后发现限制太多。不现实。
看了一下 man 文档,仅当文件close后,才会上传,不能边读边写,与本地硬盘还是有很大差别的。
现在放出Debian下的安装shell,比较简陋。Debain 7 x32 (KVM) 下测试通过。openVZ没有测试。
鄙视一下无良的博客主,转载需注明作者。


  1. 安装:
  2. bash WebDAV.sh [WebDAV] [User] [Password] [MountPath]
  3. 复制下面完整代码,重命名为WebDAV.sh。
  4. 如要修改,请在能读懂的情况下修改。
  5. 安装完成后,可以开机自动挂载。

  6. 示例:
  7. bash WebDAV.sh 'https://xxx.com/remote.php/webdav' 'UserName' 'Password' '/CloudDAV'
  8. 第一个字段: 填写完整的WebDAV地址;
  9. 第二个字段: 填写你的用户名;
  10. 第三个字段: 填写你的密码;
  11. 第四个字段: 填写本地完整路径(你要挂载在本地的什么地方,如果没有则新建此文件夹。)
  12. 最好用单引号,不要搞非主流字符。因为没做兼容。

  13. 用法:
  14. webdav.mnt start 挂载目录
  15. webdav.mnt stop 卸载目录
  16. webdav.mnt restart 重新挂载
  17. 注:当正在上传文件时,卸载目录可能不会成功。

复制代码

  1. #!/bin/sh
  2. [ $# -ne '4' ] && echo -e "Usage:\n      bash $0 [WebDAV] [User] [Password] [MountPath]" && exit 1
  3. WebDAV="$1"
  4. User="$2"
  5. Pwd="$3"
  6. WebMount="$4"
  7. apt-get install -y -qq davfs2 fuse-utils libneon27-gnutls
  8. [ $? -ne '0' ] && echo "Install davfs2 fail! " && exit 1
  9. mkdir -p "$WebMount"
  10. rm -rf /etc/davfs2/davfs2.conf
  11. cat >>/etc/davfs2/davfs2.conf<<EOF
  12. dav_user        root
  13. dav_group        root
  14. kernel_fs        fuse
  15. buf_size        4
  16. use_locks       0
  17. cache_dir        /tmp/WebDAV
  18. cache_size        4
  19. delay_upload        3

  20. EOF
  21. rm -rf /etc/davfs2/secrets
  22. cat >>/etc/davfs2/secrets<<EOF
  23. $WebDAV $User $Pwd

  24. EOF
  25. chmod 600 /etc/davfs2/secrets
  26. chmod 644 /etc/davfs2/davfs2.conf
  27. rm -rf /etc/davfs2/webdav.mnt
  28. cat >>/etc/davfs2/webdav.mnt<<EOF
  29. #!/bin/sh
  30. ### BEGIN INIT INFO
  31. # Provides:          webdav.mnt
  32. # Required-Start:    \$all
  33. # Required-Stop:     \$network \$remote_fs
  34. # Default-Start:     2 3 4 5
  35. # Default-Stop:      0 1 6
  36. # Short-Description: Start daemon at boot time
  37. # Description:       Enable davfs by daemon.
  38. ### END INIT INFO
  39. DAEMON=/usr/sbin/mount.davfs
  40. PID=/var/run/webdav.pid
  41. WebDAV="$WebDAV"
  42. DavMnt="$WebMount"

  43. test -x \$DAEMON || exit 1
  44. case "\$1" in
  45. start)
  46. [ -n "\$(pgrep mount.davfs)" ] && echo "davfs already running. " && exit 0 || {
  47. exec start-stop-daemon --start --pidfile \$PID --exec \$DAEMON \$WebDAV \$DavMnt -- -f >> /dev/null 2>&1 &
  48. sleep 3
  49. [ -n "\$(pgrep mount.davfs)" ] && echo "davfs start success. " || echo "davfs start fail. "
  50. }
  51. ;;
  52. stop)
  53. [ -z "\$(pgrep mount.davfs)" ] && echo "davfs not running. " && exit 0 || {
  54. umount \$DavMnt>> /dev/null 2>&1 &
  55. sleep 3
  56. [ -z "\$(pgrep mount.davfs)" ] && echo "davfs stop success. " || echo "davfs stop fail. "
  57. }
  58. ;;
  59. restart)
  60. [ -z "\$(pgrep mount.davfs)" ] || {
  61. umount \$DavMnt>> /dev/null 2>&1 &
  62. sleep 3
  63. [ -z "\$(pgrep mount.davfs)" ] && echo "davfs stop success. " || echo "davfs stop fail. "
  64. }
  65. exec start-stop-daemon --start --pidfile \$PID --exec \$DAEMON \$WebDAV \$DavMnt -- -f >> /dev/null 2>&1 &
  66. sleep 3
  67. [ -n "\$(pgrep mount.davfs)" ] && echo "davfs start success. " || echo "davfs start fail. "
  68. ;;
  69. *)
  70. echo "Usage: webdav.mnt {start|stop|restart}"
  71. exit 1
  72. esac
  73. exit 0

  74. EOF
  75. chmod 755 /etc/davfs2/webdav.mnt
  76. ln -sf /etc/davfs2/webdav.mnt /etc/init.d/webdav.mnt
  77. ln -sf /etc/davfs2/webdav.mnt /usr/local/bin/webdav.mnt
  78. update-rc.d -f webdav.mnt remove >>/dev/null 2>&1
  79. update-rc.d webdav.mnt defaults

复制代码
发表于 2017-2-23 14:02:18 | 显示全部楼层
这个吊,不需要也要顶一下
发表于 2017-2-23 14:21:15 | 显示全部楼层
本帖最后由 CheapLolicon 于 2017-2-23 14:22 编辑

可以,很强,码了
发表于 2017-2-23 14:24:30 | 显示全部楼层
好的,这就转载
(我才不是无良的博客主!)
发表于 2017-2-23 14:28:00 来自手机 | 显示全部楼层
好的,已转载
发表于 2017-2-23 14:33:55 | 显示全部楼层
大佬,转载要除了作者,还要加上你的链接吗?
 楼主| 发表于 2017-2-23 14:35:53 | 显示全部楼层
litter123 发表于 2017-2-23 14:33
大佬,转载要除了作者,还要加上你的链接吗?

加个作者就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|全球主机交流论坛

GMT+8, 2019-8-25 17:31 , Processed in 0.541874 second(s), 7 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表