OpenProject的一次还原记录
2019-08-28 22:30
1606 查看
OpenProject的一次还原记录
OpenProject使用过程中出现了问题,某个task中的功能无法使用,使用者协商后准备恢复至历史版本。
一、前提:
OpenProject存在备份文件,OpenProject自带备份命令(
openproject run backup),备份好的文件位于
/var/db/openproject/backup目录下。其中:
mysql-dump-20190521032002.sql.gz为数据库dump conf-20190521032002.tar.gz 为各种配置文件,包括数据库连接,服务等信息 attachments-20190521032002.tar.gz 为所有有关附件文件的备份
二、还原流程
2.1、关闭服务
关闭openproject服务,命令为
systemctl stop openproject。
注:关闭openproject服务会关闭一系列Openproject有关的服务
2.2、恢复数据
2.2.1、恢复MySQL数据
使用命令“
zcat mysql-dump-20190521032002.sql.gz | mysql -u openproject -h 127.0.0.1 -p”,之后输入mysql数据库用户openproject的密码,执行恢复命令。
zcat mysql-dump-20190521032002.sql.gz | mysql -u openproject -h 127.0.0.1 -p
zcat可以不解压压缩文件的前提下,查看压缩包内容
| 代表管道
“mysql -u openproject -h 127.0.0.1 -p”,使用openproject用户连接127.0.0.1主机中的mysql数据库,openproject用户的密码可以在备份的文件中查询,本例中是“
conf-20190521032002.tar.gz”中的database文件。
2.2.2、恢复配置文件
将归档的配置文件(
conf-20190521032002.tar.gz)中的内容解压后拷贝到“/etc/openproject/conf.d/”目录并覆盖原文件。
2.2.3、恢复附件文件的备份
将归档文件(
attachments-20190521032002.tar.gz)中的内容解压后拷贝到“/var/db/openproject/files/”目录下,覆盖原内容。
注:这里是Openproject各个Project或者Task中上传的附件,根据实际情况,可以自由选择恢复与否。
2.3、启动服务
使用“
systemctl start openproject”命令启动openproject服务
三、操作过程及命令记录
下面是恢复过程中不同阶段执行的命令记录及说明。
3.1、准备备份文件
# 查看当前路径 [root@localhost backup]# pwd /var/db/openproject/backup # 创建/home/tmp文件夹 [root@localhost backup]# mkdir /home/tmp # 拷贝备份文件至新创建的文件夹 [root@localhost backup]# cp mysql-dump-20190521032002.sql.gz /home/tmp/ [root@localhost backup]# cp conf-20190521032002.tar.gz /home/tmp/ [root@localhost backup]# cp attachments-20190521032002.tar.gz /home/tmp/ [root@localhost backup]# cp svn-repositories-20190521032002.tar.gz git-repositories-20190521032002.tar.gz /home/tmp/ # 切换至新创建的文件夹 [root@localhost backup]# cd /home/tmp/ # 列出文件夹下的文件夹 [root@localhost tmp]# ls -lha total 168M drwxr-xr-x 2 root root 213 May 24 10:34 . drwxr-xr-x. 6 root root 104 May 24 10:33 .. -rw-r----- 1 root root 167M May 24 10:34 attachments-20190521032002.tar.gz -rw-r----- 1 root root 773 May 24 10:34 conf-20190521032002.tar.gz -rw-r----- 1 root root 124 May 24 10:34 git-repositories-20190521032002.tar.gz -rw-r----- 1 root root 253K May 24 10:33 mysql-dump-20190521032002.sql.gz -rw-r----- 1 root root 110 May 24 10:34 svn-repositories-20190521032002.tar.gz
3.2、停止服务
# 关闭openproject服务 [root@localhost tmp]# systemctl stop openproject [root@localhost tmp]#
3.3、 恢复数据
# 查询文件下的文件 [root@localhost tmp]# ls attachments-20190521032002.tar.gz mysql-dump-20190521032002.sql.gz conf-20190521032002.tar .gz svn-repositories-20190521032002.tar.gz git-repositories-20190521032002.tar.gz # 恢复数据库数据 [root@localhost tmp]# zcat mysql-dump-20190521032002.sql.gz | mysql -u openproject -h 127.0.0.1 -p openproject Enter password: [root@localhost tmp]# # 解压配置文件 [root@localhost tmp]# gunzip conf-20190521032002.tar.gz [root@localhost tmp]# tar -xvf conf-20190521032002.tar ./ ./other ./database ./server ./memcached # 查看解压了配置文件后,文件夹中内容 [root@localhost tmp]# ls attachments-20190521032002.tar.gz mysql-dump-20190521032002.sql.gz conf-20190521032002.tar other database server git-repositories-20190521032002.tar.gz svn-repositories-20190521032002.tar.gz memcached # 拷贝解压后的配置文件覆盖Openproject系统中的配置文件 [root@localhost tmp]# cp database memcached other server /etc/openproject/conf.d/ cp: overwrite ‘/etc/openproject/conf.d/database’? y cp: overwrite ‘/etc/openproject/conf.d/memcached’? y cp: overwrite ‘/etc/openproject/conf.d/other’? y cp: overwrite ‘/etc/openproject/conf.d/server’? y # 本例中需要恢复的时间和当前时间没有变化,遂未恢复。
3.4、启动服务
使用
systemctl start openproject启动openproject服务。
# 启动openproject服务 [root@localhost tmp]# systemctl start openproject # openproject也是一个二进制的命令,用法如下: [root@localhost ~]# openproject Usage: openproject run COMMAND [options] openproject scale TYPE=NUM openproject logs [--tail|-n NUMBER] openproject config:get VAR openproject config:set VAR=VALUE openproject configure openproject reconfigure openproject restart Details: openproject configure [-f FILE|-] * If using an installer: This command will launch the installer wizard. You can pass the installer seed file as argument or on STDIN. * Without installer: This will execute the configure script at /opt/openproject/packaging/scripts/configure (if any). A file containing environment variables can be given as argument or on STDIN (-f -), and will be saved in the /etc/openproject/conf.d folder. openproject reconfigure This command allows to reconfigure the application. Only useful if using an installer. openproject restart [process] This will restart the application (or the given process), in a distribution-independent manner.
相关文章推荐
- 原创:记录一次硬盘数据恢复(瞬间分成四个区以后的数据还原)
- 记录一次maven出现红感叹号的问题
- 记录一次操作:Qt编译的时候出现invalid use of type ‘class xxx::QObject'
- 一次线上GC故障解决过程记录
- 记录一次Druid的处理优化过程
- 记录一次因为Android版本不同导致的crash异常:Can't create handler inside thread that has not called Looper.prepare()
- 记录一次笔试题(R语言)
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- 记录一次expdp错误
- 记录一次EasyUI 的treegrid优化实践
- sql语句优化一次进行多条记录的-----插入和修改
- 【转帖】一次Windows 下oracle字符集乱码的记录
- (一次说清楚)mysql 安装及操作 完整记录
- 记录一次坑自己的维护经历
- [Android]记录一次处理app:transformDexArchiveWithExternalLibsDexMergerForDebug错误
- 记录一次无聊的(经历了Nodejs -> Shell -> C)的探索问题过程
- 记录一次临时测试
- 记录一次关于synchronized同步代码块的问题
- 记录一次 spring boot + mybatis 与分页控件整合
- 取得前一次MySQL操作所影响的记录行数