VPS服务器备份网站到七牛云存储的shell脚本(第二版)

上一篇文章发布了备份网站到七牛的第一版,这次应回复要求先公布同步原理及 shell 源码,让喜欢折腾的人有力可使。其实,这个备份工具的原理非常简单,就是借用了官方的同步工具,配合简单的 shell 语句即可完成。

一、备份原理

简介

qrsync 是一个根据七牛云存储 API 实现的简易命令行辅助上传同步工具,支持断点续上传,增量同步,它可将用户本地的某目录的文件同步到七牛云存储中,同步或上传几百 GB 甚至上 TB 的文件毫无鸭梨。

注意:被同步的文件名和路径必须是 utf8 编码,非 utf8 的文件名和路径将会同步失败

下载

qrsync 命令行辅助同步工具下载地址:

用法

先建立一个配置文件(JSON 格式),比如叫 conf.json,内容如下:

 

简单说明:

①、src 表示需要同步的本地目录,比如网站文件打包存放路径:/www/web_backup,或是你网站文件路径:/home/domain/zhangge.net/public_html

②、2 个 Key:access_keysecret_key,进入七牛账号设置界面可以获取到。

③、bucket 表示存放备份文件的七牛空间,建议新建一个。

④、key_prefix 表示存放在七牛空间的上一级目录名称,比如key_prefix=backup/ 则表示备份文件将存放到目标空间下的 backup 文件夹中。参数留空则表示存放到改空间的根目录。

⑤、threshold表示文件分块上传的块大小,单位为字节(Byte),可根据你本地的网络带宽来确定。

⑥、deletable  是否同步删除七牛云上的文件,通常设置 0,当本地文件删除时并不删除存储在七牛的对应文件。如果你想删除本地文件的同时也删除存储在存储在七牛的文件,则设置为 1。

Ps:以上即为此工具必备的参数,更多参数请至七牛官方文档查看。

 

在建立完 conf.json 配置文件后,就可以运行 qrsync 程序进行同步。

Unix/Linux/MacOS 系统可以用如下命令行:

Windows 系统用户在 [开始] 菜单栏选择 [运行] 输入 cmd 回车即可打开 DOS 命令行窗口。

假设你的 qrsync.exe 和配置文件都存放在 d:/tools/,则如下执行:

需要注意的是,qrsync 是增量同步的,如果你上一次同步成功后修改了部分文件,那么再次运行 qrsync 时只同步新增的和被修改的文件。当然,如果上一次同步过程出错了,也可以重新运行 qrsync 程序继续同步。


 

以上即为各种系统将文件同步到七牛云存储的原理方法,我们换个想法:当我们同步的是网站打包的文件及数据库,那不就变相的实现了将网站备份到七牛云存储了吗?!

二、第二版工具 shell 源码(未完待续...)

仔细看了备份原理,相信有 shell 基础的朋友很容易就可以制作一个自动备份的工具了。

下面公布下张戈写的第二版工具源码:

相比第一版:

①、增加了数据库和网站文件分离机制,可分开设定各自的备份间隔,比如数据库我需要每天备份一次,而网站文件我打算 7 天备份一次;

②、数据库备份文件先压缩后上传,减小文件体积,节省空间流量。

工具文件结构:

初始化脚本源码:

备份及同步脚本源码:

Ps:由于七牛最近屏蔽了空间内容查看,导致第二版备份工具未进行测试,所以张戈就不发下载地址了,回头测试无误后再来补充下。

写在最后:从前文可以看出,七牛官方提供的同步工具支持多种系统,比如 Windows,有兴趣的朋友可以参考此文,为 Windows 系统的 VPS 服务器写一个批处理脚本,来实现网站备份!当然,有此需求的朋友也可以留言,并提供 Windows 系统的 VPS 主机,只要有空,张戈可无偿添加此批处理脚本。

评论已关闭!