首页 > 其他分享 >Open Project 系列3 --- 备份与还原

Open Project 系列3 --- 备份与还原

时间:2023-06-12 23:34:03浏览次数:70  
标签:Project tar 备份 sudo db --- openproject var Open

一、概要

1. 承上启下

Open Project 系列

2. 简介

Open Project提供了两种备份方式,一种是Admin用户通过页面备份,另一种是通过命令备份。本文选择通过命令备份的方式。

3. 备份内容

a. 存储在Postgres中的数据;

b. 配置文件;

c. 上传的文件(附件);

d. Git/SVN仓库(如果有的话)。

二、页面备份

1. 备份页面

(1) 使用Admin账户登录后点击右上角头像,进入"Administration->Backup"页面:

(2) 生成备份Token

(3) 请求备份

(4) 备份后会自动下载

三、命令备份

1. 备份前

(1) 停止Open Project服务

sudo systemctl stop openproject

2. 备份

sudo openproject run backup

3. 备份后

(1) 备份目录

/var/db/openproject/backup

(2) 注意

为确保备份文件的安全性,强烈建议将该文件备份至其他主机。

四、还原

1. 还原前

(1) 停止Open Project服务

sudo systemctl stop openproject

2. 还原

(1) 还原附件文件

sudo tar xzf /var/db/openproject/backup/attachments-20191119210038.tar.gz -C /var/db/openproject/files

(2) 还原配置文件

sudo tar xzf /var/db/openproject/backup/conf-20191119210038.tar.gz -C /etc/openproject

(3) 解压仓库文件

sudo tar xzf /var/db/openproject/backup/git-repositories-20191119210038.tar.gz -C /var/db/openproject/git
sudo tar xzf /var/db/openproject/backup/svn-repositories-20191119210038.tar.gz -C /var/db/openproject/svn

(4) 数据库还原

a. 首先查询Open Project实例对应的数据库链接字符串

sudo openproject config:get DATABASE_URL

该命令执行的结果:

postgres://<dbusername>:<dbpassword>@<dbhost>:<dbport>/<dbname>

b. 数据库还原

sudo pg_restore --clean --if-exists --dbname $(sudo openproject config:get DATABASE_URL) postgresql-dump-20200804094017.pgdump

参数"--clean --if-exists" 将清空数据库。

c. 异常1

pg_restore会尝试将备份库中的用户名设置为新库的owner,如果目标数据库与备份库的用户名不同,则会报错,此时需要添加"--no-owner"参数来避免报错。

d. 异常2

如果恢复数据库时,出现错误提示"Error while PROCESSING TOC […] cannot drop constraint",则需要删除并重建目标数据库:

sudo su - postgres -c psql
DROP DATABASE openproject; CREATE DATABASE openproject OWNER openproject;

3. 还原后

(1) 重启

sudo systemctl restart openproject

五、参考

1. 官方

(1) 备份

https://www.openproject.org/docs/system-admin-guide/backup/

https://www.openproject.org/docs/installation-and-operations/operation/backing-up/

(2) 还原

https://www.openproject.org/docs/installation-and-operations/operation/restoring/

标签:Project,tar,备份,sudo,db,---,openproject,var,Open
From: https://www.cnblogs.com/eagle6688/p/17476092.html

相关文章

  • axios-使用axios发起基本的GET请求
    axios是一个专注于网络请求的库!<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> </head> <body> <scriptsrc="lib/axios.js"></script> <script> //1.调......
  • 枚举的方法、枚举案例 - 状态机、组织枚举、策略枚举、枚举工具类 - EnumSet 和 EnumM
    引入编写季节类(Season),该类只有四个对象(spring,summer,autumn,winter)概念枚举(enum)全称为enumeration,是JDK1.5中引入的新特性。语法publicenumColor{//默认添加publicstaticfinalRED,GREEN,BLUE;}本质尽管枚举看起来像是一种新的数据类型,实际上,枚举就是一种受限制......
  • 乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - .NET反编译神器dotPeek,免费
    什么是dotPeekhttps://www.jetbrains.com/decompiler/dotPeek是由鼎鼎有名的JetBrains开发的免费.Net反编译软件。其界面和VisualStudio一样现代。获取dotPeekhttps://www.jetbrains.com/decompiler/download/download-thanks.html?platform=windowsWebJetBrains.dotP......
  • 前端-CSS生成器
    按钮https://uiverse.io/buttons有好看的button、卡片、输入框等https://markodenic.com/tools/buttons-generator/玻璃态https://hype4.academy/tools/glassmorphism-generator调色板https://mycolor.space/滚动条https://scrollbar.jason-liang.com/......
  • 计算属性-了解计算属性的应用场景
    1.什么是计算属性计算属性指的是通过一系列运算之后,最终得到一个属性值。这个动态计算出来的属性值可以被模板结构或methods方法使用。<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,in......
  • 计算属性-了解计算属性的语法和特点
    特点:定义的时候,要被定义为”方法“在使用计算属性的时候,当普通的属性使用即可好处:实现了代码的复用只要计算属性中依赖的数据源,则计算属性会自动重新求值<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=d......
  • ES学习笔记--索引库的操作
    mapping属性mapping是对索引库中文档的约束,常见的mapping属性包括:type:字段数据类型,字符串:text(可分词的文本),keyword(精确值,例如:品牌,国家,IP地址)数值:long,integer,short,byte,double,float布尔:boolean日期:date对象:objectindex:是否......
  • Web安全-渗透测试-信息收集02
    站点搭建,WAF信息收集在安全测试中,信息收集是非常重要的一个环节,此环节的信息将影响到后续的成功几率,掌握信息的多少将决定发现漏洞机会大小,换言之决定着是否能完成目标的测试任务。也可以很直接的说:渗透测试的思路就是从信息收集这里开始站点搭建分析目录型站点目录型站......
  • 通过 docker-compose 快速部署 StarRocks 保姆级教程
    目录一、概述二、前期准备1)部署docker2)部署docker-compose三、创建网络四、StarRocks编排部署1)下载StarRocks部署包2)配置3)启动脚本bootstrap.sh4)构建镜像Dockerfile5)编排docker-compose.yaml6)开始部署五、简单测试验证六、常用的StarRocks客户端命令1)服务启停2、查看节......
  • AMBA4 AXI-Lite
    参考https://zhuanlan.zhihu.com/p/49834243关于AXI-Lite相较于AXI4,有何不同突发传输的长度固定为1.数据位宽固定为32位或者64位,也不支持在指定位宽通道上传输更小位宽的数据。所有的访问都是不可修改的(Non-modifiable),即不支持原子操作;不可缓冲的(Non-Bufferable),即不......