宝塔环境挂载阿里云盘(webdav协议)给服务器扩容自动备份网站数据!

webdav-aliyundriver

本项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让阿里云盘变身为webdav协议的文件服务器。 基于此,你可以把阿里云盘挂载为Windows、Linux、Mac系统的磁盘,可以通过NAS系统做文件管理或文件同步,我们可以用这个项目来实现自动备份网站数据,网上很多教程都是不全或者命令都是错的。我这个教程亲测可用,完美实现宝塔自动备份网站,服务器重启自动挂载阿里云盘,宝塔内可以复制删除阿里云盘文件!

阿里云盘最开始注册的参与内测的小伙伴都可以获得1T的容量,现在永久容量好像只有100g了,不过可以通过福利中心做任务扩容。比如邀请好友有800G容量。

项目地址:https://gitcode.net/mirrors/zxbu/webdav-aliyundriver

一、首先用浏览器登录阿里云盘获取登陆的token

浏览器获取refreshToken方式

  1. 先通过浏览器(建议chrome)打开阿里云盘官网并登录:https://www.aliyundrive.com/drive/
  2. 登录成功后,按F12打开开发者工具,先点击Application,接着点击Local Storage,选择 Local Storage下的 https://www.aliyundrive.com/,最后点击右边的token,此时可以看到里面的数据,其中就有refresh_token,把其值复制出来即可。(格式为小写字母和数字,不要复制双引号。例子:ca6bf8875d73as2188efg81f66e55f11)
  3. 第二步有点繁琐,具体操作结合下面的截图就看懂了 ,点完token下面的框是可以上下翻动的,要往下拉才能看到。
  4. web方式获取token已经失效,使用工具获取:https://messense-aliyundrive-webdav-backendrefresh-token-ucs0wn.streamlit.app/
  5. 打开获取的网站进去扫码获取token

二、拉取镜像使用docker将阿里网盘转webdav协议

1、宝塔应用商店搜索docker安装

2、拉取镜像

docker run -d \
–name=aliyundrive-webdav \
–restart=always \
-p 8080:8080 \
-v $PWD/docker/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN=’fae99da824544c70849fbf1481ed88c4′ \
-e WEBDAV_AUTH_USER=admin \
-e WEBDAV_AUTH_PASSWORD=admin \
messense/aliyundrive-webdav

参数说明

refresh-token
    阿里云盘的refreshToken,获取方式看上文说明
-p 8080:8080
   开启这个后用电脑浏览器打开ip+端口可以访问阿里云盘, 服务器端口号默认为8080
WEBDAV_AUTH_USER=admin
    WebDav账户,默认admin
WEBDAV_AUTH_PASSWORD=admin 
    WebDav密码,默认admin
PWD/docker/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
    token挂载路径,不是网盘挂载路径(如果多开的话,需修改此配置)
messense/aliyundrive-webdav 转webdav协议拉取的镜像

三、linux系统挂载webdav为本地路径

Ubuntu/Debian系统运行命令

apt-get install davfs2

CentOS系统运行命令

yum install davfs2

四、创建目录并挂载阿里云盘
mkdir /www/wwwroot/alidrive
mount -t davfs http://172.17.0.2:8080/ /www/wwwroot/alidrive

运行命令后会提示输入账户密码,就是前面第二段命令里面的admin,外网可以访问,建议修改。

命令说明

http://172.17.0.2:8080/ 镜像内网地址+端口号,在docker里面可以看到你拉取的镜像对应的内网ip

/www/wwwroot/alidrive 是云盘挂载路径,根据自己情况自定义,下面用到的命令都要一样。

五、开机自动挂载云盘

1、如果不想每次挂载都需要输入用户名密码,可以在挂载之后,使用如下命令把用户名和密码写入文件:

echo "/www/wwwroot/alidrive admin admin" > /etc/davfs2/secrets

2、开启自动挂载写入文件

echo “mount -t davfs http://172.17.0.2:8080/ /www/wwwroot/alidrive” >> /etc/rc.local

echo “http://172.17.0.2:8080/ /www/wwwroot/alidrive davfs defaults 0 0” >> /etc/fstab

注意:很多命令都用到挂载路径和内网ip+端口,内网ip有可能会变,所以挂载完重启服务器再去docker里面看下,一般重启完要是不改变就稳定了。

六、宝塔设置自动备份

1、首先修改宝塔默认备份目录。改为云盘挂载路径

2、创建宝塔任务计划备份网站或者数据库,选择自己要备份的网站或者数据库,备份到本地磁盘(就是你设置的云盘挂载目录,这样就实现自动备份)

注意:挂载云盘方式来备份可能会出现其他一些错误,所以平时要检查备份是否完整,云盘的token有时效,如果失效需要重新设置下

可以重新用命令设置新的token

-e REFRESH_TOKEN=’"your refreshToken"‘ \

遇到挂载后网盘文件不显示可以先卸载再重新挂载(有时候是内网ip改变了,可以去docker里面看下)

sudo umount -l /www/wwwroot/alidrive

mount -t davfs http://172.17.0.2:8080/ /www/wwwroot/alidrive

注意:建议备份服务器数据再操作,不熟悉linux系统命令不建议操作!以前误操作导致服务器数据丢失!

如果是备份网站数据,建议用专业的插件进行备份!