织梦CMS - 轻松建站从此开始!

罗索实验室

当前位置: 主页 > 杂项技术 > Web >

WDCP使用BPCS_Uploader自动备份VPS数据到百度网盘

落鹤生 发布于 2015-12-14 10:45 点击:次 
由于百度网盘是国内服务器,使用美国VPS的朋友在上传和下载过程中会觉得速度不是特别快,百度网盘目前来说单个文件最大是4GB,如果你的网站备份打包超过了4GB,建议用压缩分卷的形式上传到百度网盘中。
TAG: VPS  WDCP  BPCS_Uploader  百度网盘  

百度pcs上传脚本
系统要求
Linux (or cygwin) with php & curl installed.

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

一、bpcs_uploader初始化

脚本下载地址: 脚本.zip| Github-zip| Github-tar.gz 【均可用wget】

使用教程 :
1.上传或使用wget将文件上传到服务器,然后再解压,进入文件夹。
wget https://github.com/oott123/bpcs_uploader/zipball/master
unzip master
mv oott123-bpcs_uploader-3a33d09 yanzh #重命名
cd yanzh #进入目录
chmod +x bpcs_uploader.php #设置权限

2.注意从github下载的代码解压包的名称可能会有变动,如果你发现第三步的重命名无法使用,你查看一下你下载下来的解压名称是什么。

3.因为我们使用的WDCP面板php是集成的,并不是自己安装的,所以,使用教程中的命令根本执行不下去,所以,选择了如下方法:
在ssh中执行

export PATH=/www/wdlinux/apache_php-5.2.17/bin:$PATH

AMH面板执行:
export PATH=/usr/local/php/bin:$PATH

来添加执行PHP的变量这样就可以正常使用命令了
php ./bpcs_uploader.php quickinit

敲下命令直接进入快速初始化流程,输入y,然后打开浏览器访问 https://openapi.baidu.com/device ,在“请输入设备上显示的用户授权码:”文本框中输入显示的授权码

    Launch your favorite web browser and visit https://openapi.baidu.com/device
    Input ta12bndk as the user code if asked.
    After granting access to the application, come back here and press Enter to continue.

,并点击继续。 看到网页上显示“请返回设备继续操作!”后,返回ssh上按下回车后,即完成了初始化配置。

4. php ./bpcs_uploader.php init

敲下命令之后,输入y,进入初始化流程。
(确认初始化。如果之前有初始化过,那么以前的配置将会被覆盖。)

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

5.1配置bpcs_uploader授权百度云操作:
⑴到http://developer.baidu.com/dev#/create中创建一个用来备份文件的应用项目。
⑵创建好后,在“API管理”中找到“API列表”。
⑶在PCS API一行中点击开启。
⑷输入你要存放文件的目录名称。
⑸完成后,在应用的基本信息中找到API KEY和Secret Key。

6.再回到刚刚你要填入API KEY的SSH界面,复制粘贴API Key,回车。
(如果输入了app secret,将会转到device code模式验证;或者直接输入回车使用oob模式验证。)

7.输入App Secret Key。
(如果输入了app Secret Key,将会转到device code模式验证;或者直接输入回车使用oob模式验证。)

8.这里需要输入app floder name,也就是你申请API时填写的文件夹名字。详情见FAQ 2。回车

    App’s Folder Name [] : bpcs_uploader
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    171 263 0 263 0 80 238 72 –:–:– 0:00:01 –:–:– 740
    Launch your favorite web browser and visit https://openapi.baidu.com/device
    Input qxfpr3av as the user code if asked.
    After granting access to the application, come back here and press Enter to continue.

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

10.这时看到了存储空间的剩余量,和【Have fun !】提示,即说明成功初始化。

二、bpcs_uploader基本的操作指令

查询容量(配额)
./bpcs_uploader.php quota

结果:

    Your Storage Status : 0.06G/115.00G (0.05%)

上传文件
./bpcs_uploader.php upload [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]

三、bpcs_uploader相关问题

FAQs:
1.各种错误提示
试试php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php。
2.为什么要输入文件夹名?
因为百度PCS的权限被限制在了/apps/文件夹名/下。如果发现输入文件夹名后仍然无法上传文件,请通过网页版找到【我的应用数据】找到对应的文件夹名,写入/config/appname文件。上传文件的时候会自动帮您处理文件夹,无需手动写出完整路径。
3.同一个网盘帐号在不同的vps上用的话要注意,获取的token只要填写到几台VPS上就可以了,不要多次授权。如果授权了第二次的话,貌似前一次的token会失效。
4.脚本内置了一个app key,但是没有给出app secret,所以需要每月更新授权。这个key是百度官方文档中写给开发者做测试用的,但是只公开了key,所以没办法拿到永久授权。
5.干净系统需要安装php和curl。

四、自动打包压缩VPS文件定时上传到百度网盘
1.下载地址:baidubd.sh下载。用文本编辑器打开baidubd.sh将MysqL用户名和密码改你自己的。

2.脚本的备份目录你也需要根据自己的VPS来修改,如果你在重命名把解压包换成了其它的名称,记得在代码最后的bpcs_uploader路径也改一下。

3.将修改后的baidubd.sh上传到你的root目录中,然后执行:sh baidubd.sh,就可以实现手动打包压缩VPS文件并上传到百度网盘中了。(点击放大)

4.如何实现定时备份上传到百度网盘中?编辑定时任务:
crontab -e,加入一行:00 02 * * * /root/baidubd.sh

,保存。表示每天的凌晨2:00自动执行baidubd.sh脚本。

5./root/baidubd.sh这是脚本路径,请根据需要自己修改。命令:
crontab –l

可以看到你当前的定时任务。 最后不要忘记重启任务:
service crond restart

五、VPS多线程高速下载百度网盘资源

1.上面我们已经将网站文件打包上传到了百度网盘了,日后如果有需要我们就可以将百度网盘中下载备份文件恢复到VPS主机上了。百度网盘目前来说下载速度还是不错的,但是可惜的只能单线程下载。

2.这里部落再分享一下用Linux下的Axel多线程高速下载工具,来下载百度网盘的大文件。其实此方法最初还不是用来下载百度网盘备份文件的,不少朋友用它来下载百度网盘上自己或者别人存放的“大型文件”。

3.CentOS安装Axel:

32位CentOS执行下面命令:
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.i386.rpm
rpm -ivh axel-2.4-1.el5.rf.i386.rpm

64位CentOS执行下面命令:
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.x86_64.rpm
rpm -ivh axel-2.4-1.el5.rf.x86_64.rpm

Debian/Ubuntu安装Axel:
apt-get install axel

4.axel使用的格式是:(可选参数)-n 指定线程数,-o 指定另存为目录,-s 指定每秒的最大比特数,-q 静默模式

5.例如用9个线程来下载百度网盘的资源,就是类似于:

    axel -n 9 “http://222.186.128.146/cdn.baidupcs.com/file/87671d01a637b83e5977353e7?xcode=45abddad=1765086594250528-727172238&time=1380794627&sign=FDTAXER-DCb740ccc551u3np1Tc%3D&&fn=tool.zip&wshc_siphost=ipdbm”

6.这是用axel下载百度网盘资源的速度,9个线程已经达到了10MB/s左右,大家在用axel时线程最好不要超过100个。

7.当然我们也可以直接用Linux的Wget下载工具来下载百度网盘的文件,格式是:wget -c -O onlyone.tp,参数-c是断点下载,O是为下载的文件指定一个文件名,后面的onlyone.tp就是新命名的文件。操作如下:

    wget -c -O onlyone.tp “http://222.186.128.160/cdn.baidupcs.com/file/564f7b2886c01e5314463b33eb111054?xcode=00497548280707571-250528-148753LpXzLkD&to=cb&f7356&sh=1&fn=BoA%20-%20%A3%29.tp&wshc_tag=0&wsiphost=ipdbm”

六、VPS自动备份文件到百度网盘和下载到本地操作

1.通过上面的方法打包上传的文件都放在百度云的“我的应用数据”中。

2.进入我的应用数据中,可以看到你创建的应用项目,里面就有刚刚上传好的打包文件。

3.这是将百度网盘的备份文件下载到本地,网站文件、数据库文件、服务器配置文件等都有,如果你还要想备份其它的文件,只需要在代码中加入路径即可。

七、VPS自动备份操作小结

1.由于百度网盘是国内服务器,使用美国VPS的朋友在上传和下载过程中会觉得速度不是特别快,百度网盘目前来说单个文件最大是4GB,如果你的网站备份打包超过了4GB,建议用压缩分卷的形式上传到百度网盘中。

2.baidubd.sh代码中已经有了自动删除本地备份文件的功能,这是为了防止因为备份文件不断增多而占用服务器硬盘的情况发生。备份文件夹在备份的过程中会自动生成,备份完成后就自动删除。当然你可以修改成几天后再自动删除。


能不能把这个功能合并到我们系统里

(yanzhuang)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www1.rosoo.net/a/201512/17424.html]
本文出处:yanzhuang 作者:yanzhuang 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容