37.2 Gistore的使用

先熟悉一下Gistore的术语。

备份库:通过gistore init命令创建用于数据备份的数据仓库。备份库包含的数据有:

〇Git版本库相关的目录和文件。如repo.git目录(相当于.git目录)、.gitignore文件等。

〇Gistore相关的配置。如.gistore/config文件。

备份项:可以为一个备份库指定任意多的备份项目。

〇例如备份/etc目录,/var/log目录等。

〇备份项在备份库的.gistore/config文件中指定,如上述备份项在配置文件中的写法为:


[store "/etc"]

enabled=true

[store "/var/log"]

enabled=true


备份任务:在执行Gistore命令时,可以指定一个任务或多个任务。

任务就是一个备份库的路径,可以使用绝对路径,也可以使用相对路径。如果不提供备份任务,即不指定一个备份库路径,默认使用当前目录。除了使用路径外,还可以使用一个任务别名来标识备份任务。

任务别名。

〇如果一个备份库在~/.gistore.d/tasks目录(非root用户),或者/etc/gistore/tasks目录(root用户)下建立了一个符号链接,则该符号链接的名称就是这个备份库的任务别名。

〇通过任务别名的机制,将可能分散在磁盘各处的备份库汇总在一起,便于用户定位备份库。例如可以显示所有在~/.gistore.d/tasks目录或/etc/gistore/tasks目录备份的任务列表。

37.2.1 创建并初始化备份库

在使用Gistore开始备份之前,必须先初始化一个备份库。命令行格式如下:用法:gistore init[备份任务]

初始化备份库的示例如下。

将当前目录作为备份库进行初始化:


$ mkdir backup

$ cd backup

$ gistore init


将指定的目录作为备份库进行初始化:


$sudo gistore init/backup/database


当一个备份库初始化完毕后,包含下列文件和目录:

目录repo.git:存储备份的Git版本库。

文件.gistore/config:Gistore的配置文件。

目录logs:Gistore运行的日志记录。

目录locks:Gistore运行的文件锁目录。