从零开始制作一个备份工具

2017年2月1日,如果不是GitLab的码农失手删掉了300GB的生产环境数据,这一天恐怕还是非常普通的一天。后来,大家决定将这一天设为“世界备份日”。

其实M1saka也是经历过因为意外操作丢数据的人,只不过是一次很诡异的问题而不是rm -rf这样的粗心操作,而且由于有备份所以损失不大。但是我这种依赖手动snapshot的备份方式,从备份频率和安全保证上来讲还是很不稳妥的。所以收这一天推动,我开始制作了一个简单的备份工具。这篇日志就记述下思路。

思路很简单,由于Dropbox有比较完整的API,所以我选择使用自己的Python程序和Dropbox来备份相关数据。上传过程很简单,照着Dropbox的Tutorial随便敲敲就够了。接着是备份部分。我把所有需要备份的目录和文件放进list.json里面,然后备份过程读出来,调用终端命令压缩各文件夹,再统一打包。

测试截图:

已知问题:文件太大就会MemoryError;没做log。

准备加的功能:清理旧备份,以及更多没想到的。

demo地址:https://github.com/DongSky/BackupToDropbox

发表评论

电子邮件地址不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.