自动备份Linux VPS文件和多线程下载百度网盘资源

时间:2023-02-11 13:45:52

网盘不仅用来存放文件,还可以用来当作网站备份工具和建站帮手,更多的有关网盘利用的方法有:

打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

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

1、bpcs_uploader作者官网:

  • 1、项目页面:http://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。

自动备份Linux VPS文件和多线程下载百度网盘资源

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

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

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

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux 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

自动备份Linux VPS文件和多线程下载百度网盘资源

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个。 (点击放大)

自动备份Linux VPS文件和多线程下载百度网盘资源

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以上。

自动备份Linux VPS文件和多线程下载百度网盘资源

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

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

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

自动备份Linux VPS文件和多线程下载百度网盘资源

六、VPS自动备份操作小结

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

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