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。