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 //...
  • 相关阅读:
    使用Vue组件写table选项卡
    Vue父子之间的值传递
    前端常用插件网站
    如何使用requireJs模块化开发
    gulp压缩html,css,js文件流程、监听任务、使用gulp创建服务器、同时运行多个任务、反向代理
    jQuery实现吃鱼游戏
    jQuery实现打飞机游戏
    jQuery实现瀑布流布局
    jQuery实现拖拽元素
    jQuery对象与原生js对象之间的转换
  • 原文地址:https://www.cnblogs.com/Byrd/p/2050915.html
Copyright © 2011-2022 走看看