经过轰轰烈烈的一轮网盘大战,百度网盘的容量已经接近无限(比如我的是3000多G ),而且百度网盘已经开放API,所以用来备份VPS再合适不过了。这里使用的是开源工具bpcs_uploader来实现。
一、首先安装bpcs_uploader
1.下载并解压脚本
wget https://github.com/oott123/bpcs_uploader/zipball/master
unzip master
之后会生成一个oott123开头的目录,建议改名为baidu。
然后进入baidu目录,赋予权限:
chmod +x bpcs_uploader.php
2.配置
首先打开http://developer.baidu.com/dev#/create/在百度云创建一个应用
记得打开API
然后点击基本信息,复制API Key。
运行bpcs_uploader配置(假设已经切换到相应目录)
./bpcs_uploader.php init
输入y继续,粘贴刚刚复制的API Key,之后输入刚刚设置的目录(比如我的是eincy-webdata),然后会跳出一段提示,让你用浏览器打开一个链接:
将链接复制到浏览器打开,点击授权。之后把地址栏的链接复制下来,找到其中的access_token,复制那一串东西,大概是这个样子
3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47
粘贴到ssh中,回车,看到Have Fun!以及网盘容量等信息,就证明配置成功。
二、VPS编写自动备份并上传脚本。
以下脚本适用于LNMP环境的VPS备份,并已经存在/home/backup目录。该脚本将备份网站文件、数据库、nginx配置文件,操作完成后会在百度网盘的“我的应用数据”中找到文件。
#!/bin/sh
tar zcvf /home/backup/file.tar.gz /home/wwwroot #备份网站数据
tar zcvf /home/backup/nginx.tar.gz /usr/local/nginx/conf #备份nginx配置文件
killall nginx #备份mysql
service mysql stop
tar zcvf /home/backup/mysql.tar.gz /usr/local/mysql/var
/usr/local/nginx/sbin/nginx
service mysql start
cd baidu #上传到网盘,以日期格式命名,实现增量上传
./bpcs_uploader.php upload /home/backup/file.tar.gz file_$(date +”%Y%m%d”).tar.gz
./bpcs_uploader.php upload /home/backup/nginx.tar.gz nginx_$(date +”%Y%m%d”).tar.gz
./bpcs_uploader.php upload /home/backup/mysql.tar.gz mysql_$(date +”%Y%m%d”).tar.gz
将以上文本复制到backup.sh,并上传到VPS的root目录下,赋予权限
chmod +x backup.sh
输入sh backup.sh进行一次备份测试,成功后就可以用crontab实现每日自动备份。
crontab -e
输入以下内容
00 00 * * * sh /root/backup.sh
以上内容的意思是每日0点自动执行一次备份脚本。
需要还原的时候,使用以下格式的命令从百度网盘中获取数据,并解压到相应目录即可。
./bpcs_uploader.php download [path_local] [path_remote]
三、写在最后
以上方法的一个明显缺点就是上传慢,大概只有每秒600kb左右,但由于是在凌晨执行,而且全自动,所以这个不是大问题。还有一个是Key的授权时限问题,这个目前还在测试。
转载请保留链接:https://ilovetile.sijie.wang/2603/ 感谢您对版权的尊重
结合 BAE?
@一堵墙 算是吧,但是用的空间是你网盘的空间,不是BAE里面的计费空间
咦?开放API了?估计快被滥用了…
@Aivier 目前百度网盘真的是良心啊,分享页面那么清爽,还API。
百度有钱,不怕烧…
@Aivier 创业公司的网盘不被逼死才怪
已经添加你的友链,我希望排在前面哦 🙂
@Aivier 这才发现我的评论最多只能5层
越来越喜欢百度的东西了
为什么你的友链是内页的。。
你也可以放内页的。。。我的内页设置的sitemap优先级仅次于首页
如果数据不是很大,个人还是比较喜欢手动备份。。。
手动备份只能隔一段时间备份一次吧,没办法天天,这样一旦出现意外还是会有损失的
现在一周备份一次。。…
那可是有丢失一周数据的风险。。
学习了
网盘相争 用户得利。。
目前我的百度网盘也已经有2T了。。
网盘很实用的一个东西哦
开发者中心不是要邀请码才能进去吗?
不用了现在
这个只是针对linux的吧,如果是windows的VPS呢
没有玩过win的VPS。。。
API calling error 31064 : file is not authorized
伤心咯~
啊现在没办法用了吗。。
貌似pcs api的授权需要审核了
这个你解决了么?
授权又有了。。。!