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。