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主机,只要有空,张戈可无偿添加此批处理脚本。

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:14   其中:访客  11   博主  3

  1. 2 来自天朝的朋友 未知浏览器 Unknow Os 上海市 电信

    用了段时间的VPS,感觉太折腾了,又换回虚拟主机。七牛只听说过,没有用过、

  2. 乐心湖 2 来自天朝的朋友 未知浏览器 Unknow Os 广东省汕头市 电信

    七牛有那么好!

  3. 鞋机 1 来自天朝的朋友 未知浏览器 Unknow Os 福建省泉州市晋江市 电信

    评论” />

  4. 超級efly 3 Hong Kong 未知浏览器 Unknow Os 香港 电讯盈科有限公司

    前來支持一下~~博主好厲害哇!

  5. Phnomi 4 来自天朝的朋友 未知浏览器 Unknow Os 天津市 联通

    真不错!支持一下

  6. 學生網 2 Hong Kong 未知浏览器 Unknow Os 香港 电讯盈科有限公司

    我還沒有用過VPS,還是收好了

  7. BabyBichu 1 来自天朝的朋友 未知浏览器 Unknow Os 浙江省温州市 电信

    七牛缓存更新好慢,其他还好

    • 张戈 [博主] 来自天朝的朋友 未知浏览器 Unknow Os 广东省深圳市 电信

      确实是这样

  8. 站长工具 0 来自天朝的朋友 未知浏览器 Unknow Os 辽宁省辽阳市 联通

    就是借用了官方的同步工具,配合简单的shell语句即可完成

    • 张戈 [博主] 来自天朝的朋友 未知浏览器 Unknow Os 广东省深圳市 电信

      有意思?

  9. 小幻 5 来自天朝的朋友 火狐浏览器 Windows 10 北京市 北京数据家科技有限公司电信节点

    准备弄个玩玩~

  10. 百易吧 0 Philippines 谷歌浏览器 Windows 7 菲律宾

    不知道博主什么时候可以弄一个rsync自动同步的,要实时同步两台vps的教程,不知道为什么根据网上的教程操作总是失败,总是一堆问题!

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      请参考:http://www.ttlsa.com/web/let-infotify-rsync-fast/
      搞不定:https://zhangge.net/pay.html

  11. IT学馆 1 来自天朝的朋友 谷歌浏览器 Windows 10 河北省 移动

    qrsync貌似要停用了。update.itxueguan.com,将你的腾讯云和我用了qshell来做到一起了

加载中,请稍候...