利用百度网盘备份网站服务器数据

2017年3月19日10:20:49利用百度网盘备份网站服务器数据已关闭评论 84

唠叨

前一段时间国内的各大网盘金山快盘,360云盘,华为网盘相继关闭,网盘成为热门关键字。只有百度网盘还在坚守,百度网盘现在最多可以得到2TB级别的存储容量,这么大的容量作为做站的草根朋友,我们自然不能全部用来看大片了,百度网盘单个文件上传是4GB,如此大的容量,我们完全可以将百度网盘打造成为一个网站自动备份的利器,当然有朋友也会利用此方法将资源存储在百度服务器中。

本篇文章要分享的Linux VPS文件自动备份上传到百度网盘中采用的程序是bpcs_uploader百度网盘自动上传脚本,同时如果我们要恢复百度网盘的文件到VPS主机上或者下载百度网盘资源,可以用Axel这个Linux下的多线路下载工具,快速将资源从百度网盘中下载到VPS上。

网盘不仅用来存放文件,还可以用来当作网站备份工具和建站帮手!

一、下载安装bpcs_uploader百度pcs上传脚本

bpcs_uploader作者官网:

项目页面:http://oott123.github.io/bpcs_uploader/

登录你的VPS主机下载安装bpcs_uploader,系统要求是Linux的php 和 curl已经安装。执行以下命令。

wget --no-check-certificate https://github.com/oott123/bpcs_uploader/zipball/master

mv oott123-bpcs-uploader baiduyun        #重命名

unzip baiduyum.zip

cd baiduyun               #进入目录

chmod +x bpcs_uploader.php           #设置权限

利用百度网盘备份网站服务器数据

由于VPS上安装的php可能存在于各种地方,因此运行很可能不正常。请以使用which php得到你的php绝对路径,修改bpcs_uploader.php的头一句#!后的路径。 如果你的php是为了网站环境安装的,那么很有可能你会得到下面这条错误消息:

xxx() has been disabled for security reasons

那么说明你的环境由于安全原因禁止了部分函数的执行。请看FAQs的1。请使用那条长长的命令代替

./bpcs_uploader.php  eg:php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quota

如果出现提示:

popen() has been disabled for security reasons

那么请看文章:错误提示:popen() has been disabled for security reasons

错误提示:popen() has been disabled for security reasons

好吧,我也很无语,什么情况??

解决办法

第一步找到:

1. /usr/local/php/etc/php.ini

搜索:popen 或者搜索 disable_functions,对没错把 popen 删除就是啦!因为你禁用了所以提示这个错误

第二步:重启php

1. /etc/init.d/php-fpm restart

好啦!现在试试是不是不提示啦

快速初始化

./bpcs_uploader.php quickinit       #快速初始化命令,可以直接跳过第二步!

敲下命令直接进入快速初始化流程,输入y,然后打开浏览器访问 https://openapi.baidu.com/device ,在“请输入设备上显示的用户授权码:”文本框中输入上面显示的授权码(这里是vmatdtpr),并点击继续。 看到网页上显示“请返回设备继续操作!”后,返回ssh上按下回车后,即完成了初始化配置。

如果你想一步一步的体验一下那么就输入

./bpcs_uploader.php init                     #初始化

敲下命令之后会进入初始化流程,这里分段详述设置方法。

Uploader initialization will be begin. If you have already configured the uploader before, your old settings will be overwritten.

Continue? [y/N] y

确认初始化。如果之前有初始化过,那么以前的配置将会被覆盖。

App API KEY [uFBSHEwWE6DD94SQx9z77vgG] :

第一步,输入App key。这里需要输入一个有PCS权限的API KEY,如果没有的话直接敲回车就好了,这里会默认使用内置的一组app key,app secret和app folder name,所以只要敲下回车就能直接跳到第四步。如果你没有App secret(例如使用L6g70tBRRIXLsY0Z3HwKqlRE这个Key时),只能获取一个有效期为一个月的access token。如果有一个有PSC权限的API KEY和secret,那么就能获得一个有效期为10年的refresh token,以便长期使用。

App API SECRET [] :

第二步,输入App secret。如果输入了app secret,将会转到device code模式验证;或者直接输入回车使用oob模式验证。先直接回车:

App Name [pcstest_oauth] :

第三步,这里需要输入app folder name,也就是你申请API时填写的文件夹名字。详情见FAQ 2。因为是使用的默认的key,所以直接回车即可。

access_token[] :

第四步,获取access token。在浏览器中打开上述URL( https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk ),进行授权。 授权完毕后,将会跳到一个写着“百度 Oauth2.0”的页面。复制出其中的网页URL,找到access_token=和&之间的字符串,例如: 3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47 将其复制到shell中粘贴并回车。使用这种方式初始化的用户,需要每月重新初始化。

如果第三步输入app secret的时候没有留空,将会得到下面的消息:

here and press Enter to continue.

来到这里,打开浏览器访问 https://openapi.baidu.com/device ,在“请输入设备上显示的用户授权码:”文本框中输入上面显示的授权码(这里是12abcxyz),并点击继续。 看到网页上显示“请返回设备继续操作!”后,返回ssh上按下回车后,即可继续。

Enjoy!

你所看到的输出可能和这里给出的不一样,但是只要看到了存储空间的剩余量,和【Have fun !】提示,即说明成功初始化。

利用百度网盘备份网站服务器数据

检查一下是否能够连接网盘

查询容量(配额)

./bpcs_uploader.php quota

结果:

Your Storage Status : 1025.13G/2068.00G (49.57%)     #这是我网盘的情况

上传文件

./bpcs_uploader.php upload [path_local] [path_remote]     #上传个文件试试

说明:path_local 本地文件路径,path_remote 上传至网盘的文件路径

网盘路径格式:foo/bar/file.ext(路径中一定要包括文件名) 上传后,能在百度网盘/我的应用数据/应用名/foo/bar下找到一个叫file.ext的文件。

下载文件

./bpcs_uploader.php download [path_local] [path_remote]

删除文件

./bpcs_uploader.php delete [path_remote]

离线下载

./bpcs_uploader.php fetch [path_remote] [path_to_fetch]

注:离线下载已经可以正常使用。

FAQs:

各种错误提示试试

php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php