0x01 前言

网站数据就是我们站长的一切,数据的备份是每天都要做的事。我尝试通过FTP将数据备份到又拍云中,但又拍云并不支持sFTP,同时速度异常的慢。此后我又尝试将数据备份到家里的服务器,然后发现数据太大,家里服务器的空间不足。

然而我的百度盘却有超过3TB的空间,同时百度盘提供的API又支持HTTPS加密,那为什么不将数据备份到百度盘上呢?

不过要是网站备份数据过大,恐怕需要另寻备份途径或加大备份间隔了。

0x02 准备百度盘与脚本

首先你得需要有一个百度盘账号。

我使用由houtianze 编写的Python 程序bypy 来连接百度云,以下是Github 地址:

https://github.com/houtianze/bypy

通过以下命令配置bypy :

获取百度api key 并授权:

0x03 同步

如果你能获取你云盘中的文件夹,则说明已经授权成功。现在尝试新建在百度盘中一个备份文件夹并将本地文件夹中的文件同步到百度盘:

0x04 添加到定时任务

将上面命令的路径修改为你实际的路径,并将其添加到crontab 中即可。

0x05 结语

其实我有一个脚本,每天定时将网站文件、数据库dump 文件和其他需要备份的文件都存在一个临时文件夹中,并将这个文件夹通过zip 固实压缩加密。再将压缩文件存放在backup/ 文件夹里,随即删除临时文件夹并开始与百度盘同步。

而我的网站数据并不大,最大时也就2GB,都能在20分钟内传输完成。这将会占用你所有的带宽,如果你的文件很大,则需要分为多个压缩包进行传输以防影响你的业务。