dp2系统备份步骤以及注意事项 - DigitalPlatform/dp2 GitHub Wiki
点击此处下载该文档
备份的目的是为了预防服务器意外瘫痪。当服务器出现意外无法继续使用时,可以利用已有的大备份数据重新在新服务器上恢复数据,以便继续使用。
侠义的备份是指dp2library的数据大备份和操作日志备份。广义的备份除了大备份和操作日志备份以外,还包含统计日志,opac样式等的备份。用这些备份恢复系统后可以连带各种特殊配置一起恢复。
操作日志备份后,一方面可以利用操作日志结合大备份来恢复系统,另一方面,将操作日志拷贝到新服务器上后可以便于日后回溯某天的记录。
大备份是通过dp2内务的【功能】-【系统维护】-【批处理任务窗】启动大备份,然后将系统产生的两个大备份文件拷贝到可靠介质上。用大备份所产生的文件恢复系统,可以让系统的数据恢复到备份时一样的状态。
这样所产生的大备份文件可以脱离原有系统的底层数据库结构,在不同于原有底层数据库的服务器上恢复系统。从而有效脱离了数据库底层对数据迁移的局限。
大备份的具体操作可以查看文档
大备份过程需要注意的事项有:
1)备份只能由一个前端操作,两个以上前端同时备份可能导致出错。
2)大备份中途,dp2library 数据目录下 backup 子目录内,没有创建完成的备份文件会有一个同名的扩展名为 .~state 的临时文件,表明备份尚未完成。
3)如果备份人员打算通过内务前端启动大备份之后就关闭前端电脑,在大备份时不要勾选“同时启动下载文件”选项。这样大备份时只将备份文件下载到服务器所在的电脑上,用户可以事后再拷贝。拷贝位置:【功能】-【系统维护】-【系统管理窗】-【内核】-【!】-【backup】下面,找到已备份好的文件,进行下载。
4)备份时勾选“同时启动下载文件”的情况下,会一边备份一边下载到启动备份的电脑上。
5)对于数据空间大的大备份文件,采用从服务器上拷贝或者边备份边下载时很容易中断,备份完成之后可以从菜单【功能】-【系统维护】-【系统管理窗】-【内核】-【!】-【backup】下面,找到已备份好的文件,进行下载。此处的下载具有断点续传功能,即使中断,也可以在下载条件具备的时候从断点继续下载。
6)如果备份完成,请将服务器上2个月之前的大备份文件删除,避免占用过多服务器空间。
7)备份介质的选择: 强烈建议不要用服务器硬盘“备份”,服务器硬盘天天开机用着,比移动硬盘损坏的几率高多了,风险极大;也不要用任何电脑上的硬盘,因为电脑上的硬盘坏的几率更高。如果单位没有磁带机,只能使用移动硬盘,一块移动硬盘还不够,最好准备多块,重复备份比较可靠。移动硬盘也可能会有损坏的情况,要小心;移动硬盘要格式化为 NTFS 文件系统,如果是 FAT32 的文件系统,下载可能会有问题,因为FAT32 的磁盘,不支持 2G 以上的大文件。
通过在内务的【功能】-【系统维护】-【批处理任务窗】启动<日志备份>任务来进行日志备份,它会把没有拷贝到本地当前目录的日志文件拷贝下来。中间间隔几天也没有关系,它能自动弄清楚哪些文件需要拷贝(如果某天的日志拷贝后,下次拷贝时已经发生了变化启动<日志备份>系统会自动重新拷贝)。用这个功能把 dp2library 的操作日志文件都拷贝到内务所在机器以后,再手动拷贝到可靠介质上。这里的下载是支持断点续传的,不怕网络状况不好.
用户可以定期到服务器所在的电脑上将操作日志拷贝到可靠介质上来备份。
操作日志在服务器上的路径为:启动dp2 installer-点菜单【dp2Library】-【打开数据文件夹】-选择实例-进入实例的library_data目录,将下面的operlog子目录整个拷贝出来即可。
但如果使用远程桌面管理服务器,从服务器上面拷贝文件到本地也是一件不太容易做好的事情,因为有时候文件太大,Windows 自带的拷贝功能可能因为网络不好中间突然断掉,有时候拷贝很多次都无法成功。
statis 统计信息备份:启动dp2 installer-点菜单【dp2Library】-【打开数据文件夹】-选择实例-进入实例的library_data目录,将下面的 statis子目录整个拷贝出来即可。
opac数据:启动dp2 installer-点菜单【dp2OPAC】-【打开数据文件夹】-选择实例-进入实例的opac_data目录,上翻一级,将整个 opac_data子目录拷贝出来。
有些用户习惯直接将kernel_data,library_data和opac_data目录直接拷贝,拷贝时需要注意让相dp2 kernel和dp2library服务器停止运行后才能进行,因为系统运行过程中,有些文件处于实时更新状态,无法直接拷贝。
如果要拷贝服务器上的kernel_data,library_data目录,一般建议在下班后进行。因为实例一旦停止,前端就无法访问,可能影响正常的工作。
另外,直接拷贝数据文件时还需要同时将底层数据库的相关文件拷贝下来,与kernel_data,library_data和opac_data存放在一起。
通过备份kernel_data,library_data和opac_data和底层数据库文件得到的备份,只能用来恢复到相同底层数据库的实例。如果底层数据库发生了变化,这些数据可能无法用来恢复系统。
所以,我们还是推荐通过dp2内务或者dp2batch来做大备份,得到的.bak大备份文件是一个中立的格式,可以适用于多种底层数据库的情况。