yunbk 是我前段时间用python写的一个备份插件,取中文谐音云备份的意思,你可以很方便的用这个插件来备份mysql、redis、mongodb、乃至各种media目录,等等。
安装可以直接用pip执行:

pip install yunbk

github地址如下:

https://github.com/dantezhu/yunbk

而用法也非常简单,比如要备份mysql,则代码如下:

怎么样,简单吧!
上面的代码会将mysql的所有数据库dump下来之后,保存到本地的 /data/backup 目录,并且按照分类和日期命名。除了保存到本地之外,yunbk还提供了 ftp, sftp, 百度的bcs,阿里的oss等多种备份方式.

简单讲一下yunbk的设计原理:

在上面的代码中,用with语句进入了yunbk指定的一个默认临时目录,此时所有的文件写入都会在这个目录里。
当调用backup的时候,yunbk会调用[backend] 中每个backend的upload方法,将数据备份起来
当with结束的时候,yunbk创建的临时目录会自动删除,即不会留下任何痕迹

需要特别说明的是,yunbk是受 bakthat 这个插件启发而来,只是他默认使用亚马逊作为备份方式,在天朝你懂得,另外还有一些实现方式觉得不是特别好,代码有些冗余,所以就自己实现了一个。

废话就不多少了,列一下常用的几种被封方式的示例:

FTP备份

阿里OSS备份

sftp 和 百度bcs 就不写啦,大家应该已经能够自己写出来啦

另外,推荐结合定时执行的库: APScheduler 一起使用,很方便:

好啦,就到这里,希望对大家有用:)

另外无意中发现博客的pr又变成4了,自己好久没更新居然还能回到4,看来主要是大家评论的功劳啊,在此多谢啦

暂无相关产品

5则回应给“yunbk-让备份变得更简单”

  1. pigman说道:

    对于网站的备份方便 谢谢分享~

    [回复]

    朱念洋 回复:

    客气 :)

    [回复]

  2. 大CC说道:

    请问import sh 为什么不可行;sh库是指的python系统的库吧?哪个版本的python里有?我使用2.7和3.4都没有

    [回复]

    朱念洋 回复:

    pip install sh

    [回复]

发表评论