备份及恢复Sonarqube服务数据

基础数据:

源数据机ip:192.*.53

测试机ip:192.*.65

Sonarqube访问地址:http://192.*.65:9000/

账户名:admin 密码:123456

数据库postgres: 版本:PostgreSQL 15.3

一、数据备份

1、查询Sonarqube运行状态

systemctl status sonarqube

2、若为运行状态则关闭

systemctl stop sonarqube

3、执行备份数据库命令

mkdir /home/data

pg_dump -h 127.0.0.1 -p 5432 -U sonarqube -d sonarqube -Fc -f /home/data/sonarqube.dump

4、备份相关配置文件

cp -R /usr/local/sonarqube/conf /home/data/sonarqube_conf

cp -R /usr/local/sonarqube/data /home/data/sonarqube_data

cp -R /usr/local/sonarqube/extensions/plugins /home/data/sonarqube_plugins

5、执行压缩命令

cd /home/data tar -czvf /home/data.tar.gz *

6、准备迁移至新服务器

将/home/data.tar.gz文件下载下来

二、数据恢复

1、将数据data.tar.gz上传至目录/home下

2、在恢复数据之前,确保SonarQube服务没有运行,并且确保PostgreSQL服务是正在运行的

sudo systemctl stop sonarqube sudo systemctl status postgresql-15.service

3、如果服务未运行,启动它

sudo systemctl enable postgresql-15.service

4、解压缩目标文件

mkdir /home/data

tar -xzvf /home/data.tar.gz -C /home/data

5、清除新服务数据

进入数据库

psql -h 127.0.0.1 -p 5432 -U sonarqube -d sonarqube

后执行以下命令:

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;
\q

6、执行恢复数据库命令

pg_restore -h 127.0.0.1 -p 5432 -U sonarqube -d sonarqube /home/data/sonarqube.dmp

命令详解:

pg_restore: 这是PostgreSQL提供的一个命令行工具,用于从由pg_dump产生的归档文件中恢复数据库。它可以恢复整个数据库集群、单个数据库或者数据库中的选定对象。
-h 127.0.0.1: 指定数据库服务器的主机地址。在这个例子中,127.0.0.1代表本地环回地址,意味着数据库服务运行在同一台机器上。
-p 5432: 指定PostgreSQL数据库监听的端口号。默认情况下,PostgreSQL服务在端口5432上监听。
-U sonarqube: 指定连接数据库时使用的用户名。这里使用的是sonarqube用户来连接数据库。
-d sonarqube: 指定要恢复到的数据库名称。这个例子中,数据库名称也是sonarqube,意味着你会在这个已存在的数据库上恢复数据。如果数据库不存在且pg_restore配置允许创建数据库,它可能会尝试创建同名数据库后再恢复数据。
/home/data/sonarqube.dmp: 这是备份文件的路径。pg_restore会读取这个文件,从中恢复数据到指定的数据库。文件扩展名.dmp虽然不常见于PostgreSQL的自定义格式备份(通常为.dump或未指定),但只要该文件确实是使用pg_dump -Fc创建的自定义格式备份,pg_restore就能正确处理。

7、服务相关配置恢复

sudo cp -R /home/data/sonarqube_conf/* /usr/local/sonarqube/conf/

sudo rm -r /usr/local/sonarqube/data/*

sudo cp -R /home/data/sonarqube_data/* /usr/local/sonarqube/data/

sudo rm -r /usr/local/sonarqube/extensions/plugins/*

sudo cp -R /home/data/sonarqube_plugins/* /usr/local/sonarqube/extensions/plugins/

8、修改文件权限

chown -R sonarqube:sonarqube /usr/local/sonarqube/data

chmod -R 750 /usr/local/sonarqube/data

9、删除es7异常停止锁文件

sudo rm -f /usr/local/sonarqube/data/es7/nodes/0/node.lock

10、重启Sonarqube服务

sudo systemctl start sonarqube

11、查看Sonarqube服务运行状态

systemctl status sonarqube

三、问题并解决

问题1:

执行命令   pg_dump -U sonarqube -d sonarqube -Fc -f /home/data/sonarqube.dmp 报错

错误信息:pg_dump: 错误: 连接到套接字"/var/run/postgresql/.s.PGSQL.5432"上的服务器失败:FATAL: Peer authentication failed for user "postgres"

解决方法:更换命令为:

pg_dump -h 127.0.0.1 -p 5432 -U sonarqube -d sonarqube -Fc -f /home/data/sonarqube.dump

问题2:

在操作恢复数据最后一步启动Sonarqube服务时,Elasticsearch在尝试启动时遇到了文件访问权限问题

sonar启动报错日志:

sonar启动报错es日志:

解决方法:

1、修改文件权限

chown -R sonarqube:sonarqube /usr/local/sonarqube/data

chmod -R 750 /usr/local/sonarqube/data

2、删除es7异常停止锁文件

sudo rm -f /usr/local/sonarqube/data/es7/nodes/0/node.lock

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI写歌词,为你的音乐之旅添彩

在追求音乐梦想的道路上,每一个音符都承载着我们的情感与故事。而精彩的歌词,更是让这些音符焕发出耀眼光芒的关键。如今,AI 写词的出现,为我们的音乐之旅增添了绚丽的色彩。 “妙笔生词智能写歌词软件(veve522&#…

JAVA自定义注释

interface 声明 package test; public interface InProgress { } InProgress public void calculateInterest(float amount, float rate) { } 带成员 public interface TODO {String value(); } InProgress //只有成员变量名有value时,值有给value赋值时可以这…

Spring Cloud Eureka

引入:远程调用时,url是写死的 String url "http://127.0.0.1:9090/product/" orderInfo.getProductId(); 解决思路: 比如(医院,学校等)机构的电话号码发生变化,就需要通知各个使⽤…

Android14系统应用统一裁剪方案

Android14系统应用统一裁剪方案 背景 当前移除集成到系统里的应用,一般都是根据应用名,到各个mk文件里逐个在PRODUCT_PACKAGES中删除;这种方法,耗时而且不易管理集成到系统里的应用;需要有一个统一管理删除不需要应用的方案。 方案 参考PRODUCT_PACKAGES变量,添加PRO…

游戏的无边框模式是什么?有啥用?

现在很多游戏的显示设置中,都有个比较特殊的选项“无边框”。小伙伴们如果尝试过,就会发现这个效果和全屏几乎一毛一样,于是就很欢快地用了起来,不过大家也许会发现,怎么和全屏比起来,似乎有点不够爽快&…

uniapp编译成h5后接口请求参数变成[object object]

问题:uniapp编译成h5后接口请求参数变成[object object] 但是运行在开发者工具上没有一点问题 排查: 1:请求参数:看是否是在请求前就已经变成了[object object]了 结果: 一切正常 2:请求头:看…

AST反混淆实战:提升JavaScript代码的可读性与调试便利性

博客标题:AST反混淆:提升JavaScript代码的可读性与调试便利性 引言 JavaScript代码混淆是一种常见的保护源码的方法,但这也给代码的维护和调试带来了不小的挑战。抽象语法树(AST)提供了一种结构化的方式来分析和转换…

平安好车主:“保”你车平安,“养”出好生活~

“小朋友 你是否有很多问号,为什么......”从出生到长大,不论我们身居何处,年岁几何,妈妈似乎总有嘱咐不完的话。小时候,总不能理解妈妈的话,只想摆脱唠叨,期盼快快长大。 如今,我们羽翼渐丰,已能驾驭人生,肩负起家庭的重任,但妈妈的话却依然从未落下。不过,此刻的我们,不仅能…

Gitea 仓库事件触发Jenkins远程构建

文章目录 引言I Gitea 仓库事件触发Jenkins远程构建1.1 Jenkins配置1.2 Gitea 配置引言 应用场景:项目部署 I Gitea 仓库事件触发Jenkins远程构建 Gitea支持用于仓库事件的Webhooks 1.1 Jenkins配置 高版本Jenkins需要关闭跨域限制和开启匿名用户访问 在Jenkins启动前加入…

STM32入门开发操作记录(一)——新建工程

目录 一、课程准备1. 课程资料2. 配件清单3. 根目录 二、环境搭建三、新建工程1. 载入器件支持包2. 添加模块3. ST配置4. 外观设置5. 主函数文件 一、课程准备 1. 课程资料 本记录操作流程参考自b站视频BV1th411z7snSTM32入门教程-2023版 细致讲解 中文字幕,课程资…

柯桥韩语培训韩语学习力职场口语韩语中的职场黑话你知道几个?

生活中比较常用的,与职场生活有关的新造词有상사병, 직장살이, 무두절(無頭節)等。一起来看下他们的意思吧... 상사병 상사병是指因为上司多变不定的指示而火大的意思。 직장살이 직장살이用来比喻职场生活也需要看上司的脸色,就像在婆家看婆婆脸色一样…

gorm只查询某一些字段字段的方法Select, 和只查询某一字段方法 Pluck

gorm中默认是查询所有字段的, 如果我们只需要获取某些字段的值,可以通过使用 Select方法来指定要查询的字段来实现, 也可以通过定义一个需要字段的结构体来实现; 而如果我们只需要查询某一个字段的值就可以使用 Pluck方法来获取(这…

【刷题汇总 -- 删除公共字符、两个链表的第一个公共结点、mari和shiny】

C日常刷题积累 今日刷题汇总 - day0121、删除公共字符1.1、题目1.2、思路1.3、程序实现 -- 蛮力法1.4、程序实现 -- 哈希 2、两个链表的第一个公共结点2.1、题目2.2、思路2.3、程序实现 -- 对齐比对法2.4、程序实现 -- 公共端点路程法 3、mari和shiny3.1、题目3.2、思路3.3、程…

[python]基于yolov10+gradio目标检测演示系统设计

【设计介绍】 YOLOv10结合Gradio实现目标检测系统设计是一个结合了最新目标检测技术和快速部署框架的项目。下面将详细介绍这一系统的设计和实现过程。 一、YOLOv10介绍 YOLOv10是YOLO(You Only Look Once)系列的最新版本,由清华大学的研究…

vienna整流器的矢量分析

Vienna整流器使用六个二极管和六个IGBT(或MOSFET)组成,提供三个电平:正极电平(P)、中性点电平(O)和负极电平(N)。通过对功率管的控制,Vienna整流器…

Telegram Bot、小程序开发(一)基础入门

文章目录 一、Telegram Bot是什么?二、Telegram Bot应用场景三、机器人是如何工作的?架构getUpdates 和 webhookswebhooks要求自签名证书 四、如何创建和使用Telegram Bot?整体步骤和流程Bot 的申请过程将机器人添加到 Telegram 群组 一、Tel…

昇思25天打卡营第25天|基于MoblieNetv2的垃圾分类

一、简介: 本次实验主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 实验目的: 了解熟悉垃圾分类应用代码的编写(Python语言&#x…

卷积神经网络——LeNet——FashionMNIST

目录 一、文件结构二、model.py三、model_train.py四、model_test.py 一、文件结构 二、model.py import torch from torch import nn from torchsummary import summaryclass LeNet(nn.Module):def __init__(self):super(LeNet,self).__init__()self.c1 nn.Conv2d(in_channe…

Autosar Dcm配置-0x28服务ComControl-基于ETAS软件

文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…

[C++] STL :stackqueue详解 及 模拟实现

标题:[C] STL :stack&&queue详解 水墨不写bug 目录 (一)stack简介 (二)queue简介 (三)容器适配器 (四)stack和queue的模拟实现 /*** …