OpenProject的一次还原记录

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-dump-20190521032002.sql.gz备份的mysql dump文件;

| 代表管道;

“mysql -u openproject -h 127.0.0.1 -p”:

使用openproject用户连接127.0.0.1主机中的mysql数据库,openproject用户的密码可以在备份的文件中查询,本例中为conf-20190521032002.tar.gz”中的database文件,如下图所示。

OpenProject的一次还原记录

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: 
# 输入安照**2.2.1节**中方法查询**database**文件得到的密码。
[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.

OpenProject的一次还原记录
OpenProject的一次还原记录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值