zoukankan      html  css  js  c++  java
  • Perforce的备份恢复机制和策略

    Perforce实施备份介绍

    创建方法:在Perforce服务器,使用-jc标志创建。


    P4d–r root –jc默认保存为Perforce程序根目录下checkpoint.n文件和journal.n-1到同时使journal开始重新记录历史数据。

    上一次的checkpint.n和这次的journal。是本次创建checkpoint数据库的当前所有信息。例如:你可以使数据恢复到checkpoint.6创建的时候,用checkpint.5和变更记录journal.5。也可以理解为checkpoint5+journal.5 = checkpoint.6。

    使checkpoint和journal保存在特定文件夹下或是使用文件前缀。也是使用-jc 选项。例如:p4d –jc prefix ,将保存checkpoint为prefix.ckp.n 和prefix.jnl.n.如果没有前缀,将默认保存为checkpoint.n & journal.n 。

    使用p4 admincheckpoint [z] [prefix]来实现在不登录服务器的情况下实现备份。此时你必须是一个超级管理员。

    在恢复的时候,checkpoint至少和当前depot中的源程序文件一样老。两者之间的时间差,越小越好。当然程序文件可以比checkpoint文件新。


    Journal files


    就是服务器中所有的数据库变更集log文件,(开始时间是上次备份),journal files是两个checkpoint之间的纽带。
    确定在创建一个checkpoint在开启journnaling,

    打开Journaling后:马上使用p4d –jc 和p4d –J journalfile。Journal的名字和存档地址可以更改。
    注意:如果创建了journal文件用-Jfilename flag ,请确定,序列checkpoints 使用相同的名字,不然journaling是不会正确命名的。

    关闭Journaling,设置P4JOURNAL 为off,在不使用-J flag 的情况下,执行p4d命令。


    Versioned files:

    源程序文件存放在服务器的更目录下,是存放为RCS根式,使用filename.v.只有一个RCS-format file 每个文本文件,

    在checkpointing操作后:
    为了保证versioned文件反应了数据库的所有信息。那些源程序文件必须重新保存,


    备份过程:

    1,确定server上的文件完整,增加MD5 数据和文件长度信息,到一个新的文件里。

    P4 verify //…

    使用p4 verify –q 可以保证只有在错误的信息的时候输出。

    2,运行 p4d –jc 或者 p4 admincheckpoint

    3,在备份的时候,会将数据库上锁。最好在备份的时候停止服务器。

    4,停止、启动服务器命令:

    Netstart perforceNetstop perforce/P4 admin stop

    5,保证在checkpoint成功创建后,再备份源程序文件,

    6,如果checkpoint被成功创建后,

    7,你不需要备份db.*,你最新的checkpoint和journal、源程序包含了所有用来恢复的信息。


    恢复过程:

    数据路损坏,源程序文件没有影响:

    1.1   准备最近一次备份的checkpoint文件,

    1.2   准备当前的journal文件,

    1.3   停止当前perforce的运行,p4d admin stop

    1.4   重命名或者移走db.*文件。

    1.5   调用有p4d –jr 命令,确定最近一次的checkpoint 和当前的journal,如果你想指定Server root,就使用-r $P4ROOT 参数。例如:

    P4d –r $P4ROOT –jr checkpoint_file journal_file


    数据库文件和源程序文件都损坏:

    2.1    必须保证VersiondFiles源程序不能比checkpoint更老。

    2.2    最近一次备份的checkpoint文件,你的versioned文件,存放在P4Root目录下,

    2.3    停止服务,p4 admin stop

    2.4    重命名或者移走db.*文件,

    2.5    使用-jr 参数调用p4d,例如:P4d–r $P4ROOT –jr checkpoint_file

    2.6    恢复数据文件,将数据文件放到原来位置即可。

    2.7    数据恢复后验证数据的完整性。


    使用命令:p4verify –q //…

  • 相关阅读:
    随机二分图
    城市旅行
    JZPKIL
    线性基专题总结
    杜教筛专题总结
    [NOI2018]你的名字
    P1120 小木棍 [数据加强版]
    先序遍历
    P1736 创意吃鱼法
    P2258 子矩阵
  • 原文地址:https://www.cnblogs.com/Byrd/p/2050884.html
Copyright © 2011-2022 走看看