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

1、bpcs_uploader作者官网:

  • 1、项目页面:https://oott123.github.io/bpcs_uploader/

2、百度pcs上传脚本部落已经详细介绍过了:bpcs_uploader百度网盘自动上传脚本-将文件一键放到百度云

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


wget https://github.com/oott123/bpcs_uploader/zipball/master
unzip master
mv oott123-bpcs_uploader-3a33d09 freehao123 #重命名
cd freehao123 #进入目录
chmod +x bpcs_uploader.php #设置权限
./bpcs_uploader.php #运行初始化

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

PS:2014年3月10日更新,感谢“无名科技”的提醒,现在PCS需要审核,我们可以用快速初始化的方法bpcs_uploader设置。执行以下命令:


./bpcs_uploader.php quickinit

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

4、运行上述代码后,这里会需要输入一个有PCS权限的API KEY。

百度pcs上传脚本提示输入密钥

二、配置bpcs_uploader授权百度云操作

1、接上面,你需要到https://qing.baidu.com/中创建一个用来备份文件的应用项目。

百度pcs上传脚本创建一个应用

2、创建好后,在“API管理”中找到“API列表”。

百度pcs上传脚本找到API列表

3、在PCS API一行中点击开启。(点击放大)

百度pcs上传脚本开启应用

4、输入你要存放文件的目录名称。

百度pcs上传脚本输入存放的名称

5、完成后,在应用的基本信息中找到API KEY和Secret Key。

百度pcs上传脚本查看基本的信息

6、再回到刚刚你要填入API KEY的SSH界面,复制粘贴API Key,回车。

7、填入你的百度云备份文件的目录名称,然后会得到一连串的URL地址,复制它。

百度pcs上传脚本得到一串地址

8、用浏览器打开这个URL,会看到是否授权访问你的百度云的提示。

百度pcs上传脚本授权访问

9、确定后,页面会显示“百度 Oauth 2.0”的字样,表示已经授权完成。

百度pcs上传脚本完成授权

10、将将浏览器的地址栏中的access_token一连字符复制回SSH中,粘贴,回车。最后看到是你的百度网盘的容量信息,表示你已经成功配置好了bpcs_uploader了。

百度pcs上传脚本成功配置

三、自动打包压缩VPS文件定时上传到百度网盘

1、自动打包压缩VPS文件的代码有很多,部落参考了 jalena.bcsytv.com 博主写的定时备份VPS数据到Dropbox的脚本,改成了自动打包压缩VPS文件上传到百度网盘版本。

2、下载地址:baidubd.sh下载。用文本编辑器打开baidubd.sh将MysqL用户名和密码改你自己的。

百度pcs上传脚本修改密码

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

百度pcs上传脚本调整路径

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

百度pcs上传脚本完成备份

5、如何实现定时备份上传到百度网盘中?编辑定时任务:crontab -e,加入一行:00 02 * * * /root/baidubd.sh,保存。表示每天的凌晨2:00自动执行baidubd.sh脚本。

6、/root/baidubd.sh这是脚本路径,请根据需要自己修改。命令:crontab –l 可以看到你当前的定时任务。 最后不要忘记重启任务:service crond restart

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

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

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

3、CentOS安装Axel:

32位CentOS执行下面命令:


wget -c https://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 https://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

Axel安装方法

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

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


axel -n 9 "https://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个。 (点击放大)

Axel多线程下载速度

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


wget -c -O onlyone.tp "https://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"

8、这是Wget下载百度网盘的文件速度,也达到1MB/s以上。

百度网盘用Wget下载文件

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

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

百度网盘我的应用数据

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

百度网盘已经上传的文件

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

百度网盘下载到本地

六、VPS自动备份操作小结

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

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