打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源
前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字游戏中的公司都心知肚明。
在不需要增加任何网盘上传下载带宽和硬件设备投入的情况下,又可以用TB级别网盘这样的字眼来夺人眼球,在网络上大肆炒作一番,这比用钱买广告来推广网盘有效得多了。在这场网盘炒作中,率先“挑起事非”的两家百度网盘和360网盘获利最多。
尤其是百度网盘,应该算正式成长为国内网盘界中老大之一了。一年前大家还都在谈论115网盘关闭外链、金山快盘、华为网盘,不到一年的时间,现在大家提到最多的差不多就是互联网大佬旗下的百度云、360云盘和腾讯微云,原来的前三甲就这样“暗淡无光”了。
百度网盘现在最多可以得到2TB级别的存储容量,这么大的容量作为做站的草根朋友,我们自然不能全部用来看大片了,百度网盘单个文件上传是4GB,如此大的容量,我们完全可以将百度网盘打造成为一个网站自动备份的利器,当然有朋友也会利用此方法将资源存储在百度服务器中。
本篇文章要分享的Linux VPS文件自动备份上传到百度网盘中采用的程序是bpcs_uploader百度网盘自动上传脚本,同时如果我们要恢复百度网盘的文件到VPS主机上或者下载百度网盘资源,可以用Axel这个Linux下的多线路下载工具,快速将资源从百度网盘中下载到VPS上。
网盘不仅用来存放文件,还可以用来当作网站备份工具和建站帮手,更多的有关网盘利用的方法有:
- 1、网盘备份:巧用远程FTP备份网站文件:Drivehq网盘和Cobian Backup备份软件
- 2、开源网盘:OwnCloud开源的个人云服务器文件分享、音乐存储、日历、联系人
- 3、网盘外链:获取SkyDrive免费网盘的音乐mp3和图片等文件外链地址
- 1、项目页面:http://oott123.github.io/bpcs_uploader/
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。
二、配置bpcs_uploader授权百度云操作
1、接上面,你需要到http://developer.baidu.com/dev#/create中创建一个用来备份文件的应用项目。
2、创建好后,在“API管理”中找到“API列表”。
3、在PCS API一行中点击开启。(点击放大)
4、输入你要存放文件的目录名称。
5、完成后,在应用的基本信息中找到API KEY和Secret Key。
6、再回到刚刚你要填入API KEY的SSH界面,复制粘贴API Key,回车。
7、填入你的百度云备份文件的目录名称,然后会得到一连串的URL地址,复制它。
8、用浏览器打开这个URL,会看到是否授权访问你的百度云的提示。
9、确定后,页面会显示“百度 Oauth 2.0”的字样,表示已经授权完成。
10、将将浏览器的地址栏中的access_token一连字符复制回SSH中,粘贴,回车。最后看到是你的百度网盘的容量信息,表示你已经成功配置好了bpcs_uploader了。
三、自动打包压缩VPS文件定时上传到百度网盘
1、自动打包压缩VPS文件的代码有很多,部落参考了 jalena.bcsytv.com 博主写的定时备份VPS数据到Dropbox的脚本,改成了自动打包压缩VPS文件上传到百度网盘版本。
2、下载地址:baidubd.sh下载。用文本编辑器打开baidubd.sh将MysqL用户名和密码改你自己的。
3、脚本的备份目录你也需要根据自己的VPS来修改,如果你在重命名把解压包换成了其它的名称,记得在代码最后的bpcs_uploader路径也改一下。
4、将修改后的baidubd.sh上传到你的root目录中,然后执行:sh baidubd.sh,就可以实现手动打包压缩VPS文件并上传到百度网盘中了。(点击放大)
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 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"
8、这是Wget下载百度网盘的文件速度,也达到1MB/s以上。
五、VPS自动备份文件到百度网盘和下载到本地操作
1、通过上面的方法打包上传的文件都放在百度云的“我的应用数据”中。
2、进入我的应用数据中,可以看到你创建的应用项目,里面就有刚刚上传好的打包文件。
3、这是将百度网盘的备份文件下载到本地,网站文件、数据库文件、服务器配置文件等都有,如果你还要想备份其它的文件,只需要在代码中加入路径即可。
六、VPS自动备份操作小结
1、由于百度网盘是国内服务器,使用美国VPS的朋友在上传和下载过程中会觉得速度不是特别快,百度网盘目前来说单个文件最大是4GB,如果你的网站备份打包超过了4GB,建议用压缩分卷的形式上传到百度网盘中。
2、baidubd.sh代码中已经有了自动删除本地备份文件的功能,这是为了防止因为备份文件不断增多而占用服务器硬盘的情况发生。备份文件夹在备份的过程中会自动生成,备份完成后就自动删除。当然你可以修改成几天后再自动删除。