37.2.5 查看备份日志

备份库中的repo.git就是备份数据所在的Git库,这个Git库是一个不带工作区的裸库。可以对其执行git log命令来查看备份日志。

因为并非采用通常的.git作为版本库名称,而且不带工作区,需要通过—git-dir参数指定版本库的位置,如下:


$git—git-dir=repo.git log


Gistore提供了一个log子命令,能更方便地显示备份日志。该子命令实际是对上面的Git命令的封装,因此可以向其传递任何git log命令可以理解的参数。如:


$gistore log—pretty=oneline


下面是我公司内的服务器每日备份的日志片断:


commit 9d16b5668c1a09f6fa0b0142c6d34f3cbb33072f

Author:Jiang Xin<jiangxin@ossxp.com>

Date:Thu Aug 5 04:00:23 2010+0800

Changes summary:total=423,A:407,D:1,M:15


A=>etc/gistore/tasks/Makefile,

opt/cosign/lib/share/locale/cosign.pot,

opt/cosign/lib/templates-local.old/expired_error.html,

opt/cosign/lib/templates-local.old3/error.html,

opt/cosign/lib/templates/inc/en/0020_scm.html,…402 more…

D=>etc/gistore/tasks/default

M=>.gistore/config,etc/gistore/tasks/gosa,

etc/gistore/tasks/testlink,etc/group,etc/gshadow-,…10 more…

commit 01b6bce2e4ee2f8cda57ceb3c4db0db9eb90bbed

Author:Jiang Xin<jiangxin@ossxp.com>

Date:Wed Aug 4 04:01:09 2010+0800

Changes summary:total=8,A:7,M:1


A=>backup/databases/blog_bj/blog_bj.sql,

backup/databases/ossxp/mysql.sql,backup/databases/redmine/redmine.sql,backup/databases/testlink/testlink-1.8.sql,

backup/databases/testlink/testlink.sql,…2 more…

M=>.gistore/config

commit 15ef2e88f33dfa7dfb04ecbcdb9e6b2a7c4e6b00

Author:Jiang Xin<jiangxin@ossxp.com>

Date:Tue Aug 3 16:59:12 2010+0800

Changes summary:total=2665,A:2665


A=>.gistore/config,etc/apache2/sites-available/gems,etc/group-,

etc/pam.d/dovecot,etc/ssl/certs/0481cb65.0,…2660 more…


从上面的日志可以看出:

备份发生在晚上4点钟左右。这是因为备份是在晚上自动执行的。

ID为"15ef2e8"的提交是一次手动提交。从提交说明中可以看到添加了2665个文件。最新的备份ID为"9d16b56",其中既有文件添加(A),又有文件删除(D),还有文件变更(M),会随机各选择5个文件出现在提交日志中。

如果想查看详细的文件变更列表,使用下面的命令:


$gistore log-1—stat 9d16b56

commit 9d16b5668c1a09f6fa0b0142c6d34f3cbb33072f

Author:Jiang Xin<jiangxin@ossxp.com>

Date:Thu Aug 5 04:00:23 2010+0800

Changes summary:total=423,A:407,D:1,M:15


A=>etc/gistore/tasks/Makefile,

opt/cosign/lib/share/locale/cosign.pot,

opt/cosign/lib/templates-local.old/expired_error.html,opt/cosign/lib/templ

D=>etc/gistore/tasks/default

M=>.gistore/config,etc/gistore/tasks/gosa,

etc/gistore/tasks/testlink,etc/group,etc/gshadow-,…10 more…

.gistore/config|4+

backup/databases/redmine/redmine.sql|44+-

etc/apache2/include/redmine/redmine.conf|40+-

etc/gistore/tasks/Makefile|1+

etc/gistore/tasks/default|1-

etc/gistore/tasks/gosa|2+-

opt/gosa/conf/sieve-spam.txt|6+

opt/gosa/conf/sieve-vacation.txt|4+

opt/ossxp/conf/cron.d/ossxp-backup|8+-

423 files changed,30045 insertions(+),51 deletions(-)


在备份库的logs目录下,还有一个备份过程的日志文件logs/gitstore.log。记录了每次备份的诊断信息,主要用于调试Gistore。