vps自动备份数据到百度网盘
- by Hector
1.编写脚本
我把数据分为三类
- mysql数据库,需要导出sql
- 文件夹
- 文件
将数据拷贝到一个以当前日期命名的文件夹下面,最后压缩打包。
新增减少备份的数据新增减少要备份的目录或文件即可。
2.上传到百度网盘脚本
上传文件有两种方式,调用百度个人网盘接口和存储cookie模拟登陆。
尝试自己调用百度pcs接口,不但要申请权限(要一个星期审核),还很麻烦。网上搜了一下代码,发现这个是最好用的:https://github.com/houtianze/bypy
使用很简单:python bypy.py [命令] [参数]
第一次使用需要根据提示,打开一个网页,输入授权码。
请先确认此脚本可以上传文件后再加入备份脚本里面自动上传。
数据是存放在网盘的App/bypy目录下,这里我建立了vps-backup目录存放vps的数据。
3.定时任务
定时任务用到了crontab.
- 安装:yum install -y vixie-cron
- 添加任务crontab -e,格式如下:
* * * * * command
分 时 日 月 周 命令
注意服务器可能是utc时间,比如我的:30 19 * * * /home/vps-backup.sh,实际是每天晚上三点半执行备份命令。 - 启动服务:service crond start
附我的备份脚本,你可以根据实际情况新增需备份的文件或目录,以及脚本和数据存放路径。https://gist.github.com/myourys/ba7edd3d19b8e3ba09a4