zoukankan      html  css  js  c++  java
  • Perforce服务器的备份还原

    备份:

    Perforce服务器的备份分两个部分:一个是数据库的备份,一个是源文件的备份。数据库的备份简单的说就是创建一个checkpoint然后备份 checkpoint文件。源文件的备份就更简单了,用你喜欢的任何方式做一个Perforce代码库(depot)的备份。

    1、备份数据库

    p4 admin checkpoint -z (或者p4d -r $P4ROOT -z -jc)

    这两个命令作用相同,就是把数据库里的全部信息导出来并生成一个checkpoint文件和一个jounal文件:checkpoint.nnn.gz和journal.n.gz

    cp checkpoint.nnn.gz /backup/location/checkpoint.nnn.gz
    cp journal.nnn.gz /backup/location/journal.nnn.gz

    2、备份源文件

    找到源库的文件夹。默认位置是$P4ROOT(所有db.*文件所在处)下的源库名。比如说如果你有一个depot叫projectA,

    tar czvf projectA.tar.gz $P4ROOT/projectA
    ...
    cp projectA.tar.gz /backup/location

    还原:

    恢复的过程分不同的情况:
    1、数据库损坏但源文件没有受影响。
    2、数据库和源文件都损坏了。

    一、如果只是数据库损坏,你只需要恢复数据库。步骤如下:
    1) 暂停Perforce服务器。

        p4 admin stop

    2) 将所有数据库文件(db.*)改名或移动到另一个文件夹(最好不要直接删除)。

        mv $P4ROOT/db.* /somewhere/safe

    3) 运行p4d从最新的checkpoint和journal文件恢复数据库。

        p4d -r $P4ROOT -jr checkpoint_file journal_file

    注意如果checkpoint和journal是压缩文件的话,需要加上-z标志。

        p4d -r $P4ROOT -z -jr checkpoint_file journal_file

    到这里数据库就应该恢复好了,你可以重新启动Perforce服务器检查恢复是否成功。

    二、数据库和源文件都损坏了。
    1) 如上恢复数据库,但是不需要使用journal文件,因为你需要从备份中恢复源文件,当前的日志文件包含的信息不再适用。

    2) 恢复源文件。从备份中拷贝(如果压缩过的话先解压)源文件到Perforce库文件应在的位置,比如$P4ROOT.

    任何恢复完成后都应该确定所有版本文件没有问题,运行:

        p4 verify -q //...
  • 相关阅读:
    ITPUB:按道理应该走的局部分区索引
    如何用正则取美国人名.
    Commit Enhancements in Oracle 10g Database Release 2
    关羽(162219)
    使用Oracle在线重定义包 DBMS_REDEFINITION 在不停业务的情况下增加或修改字段
    Online Table Redefinition Enhancements in Oracle Database 11g Release 1
    关于分区表和分区索引
    如何切换用户到不同用户Session上
    PL/SQL Enhancements in Oracle Database 10g
    Using Regular Expressions in Oracle Database
  • 原文地址:https://www.cnblogs.com/Byrd/p/2050915.html
Copyright © 2011-2022 走看看