备份及恢复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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

厨电,被AI重构的下一个十年|产业特稿

智能化赋能下,厨房从闲人免进的油污重地,到会朋交友的社交空间。随着老板、方太等头部厨电厂商纷纷布局AI,厨电行业的数字化、智能化正逐渐改变了人们和烹饪之间的交互,重塑着厨房固有的属性、定位和职能。 作者|斗斗 编辑|皮爷…

RSA算法java实现

基于RSA算法的Java示例代码,展示了如何进行公钥加密、私钥解密、私钥签名和公钥验签。 非堆成加密公私钥使用学习请查看:非堆成加密公私钥使用-CSDN博客 代码实现 package com.chengxuyuan.demo;import javax.crypto.Cipher; import java.security.*;…

3D互动+AR试戴,赋能珠宝品牌线上营销!

随着电商浪潮的汹涌而至,珠宝这一传统上依赖实体店铺销售的行业,正积极拥抱线上转型的浪潮。然而,面对珠宝商品高客单价及消费者对于亲身体验的强烈需求,线上销售面临诸多挑战,尤其是图片展示难以全面展现珠宝魅力&…

cache 设计

1. cache 概念扫描 简介: cache 是一种小容量的缓存空间,类似于较小的sram 。 它的存在着重解决逻辑访问外部存储(ddr )的时延。 通过一种预测算法(cache 的换入和换出),将逻辑大概率访问的热点…

Milvus核心设计(2)-----TSO机制详解

目录 背景 动机 Timestamp种类及使用场景 Guarantee timestamp Service timestamp Graceful time Timestamp同步机制 主流程 时间戳同步流程 背景 Milvus 在设计上突出了分布式的设计,虽然Chroma 也支持分布式的store 与 query。但是相对Milvus来说,不算非常突出。…

【LangChain系列】【基于Langchain的Pandascsv Agent】

目录 前言一、LangChain1-1、介绍1-2、特点 二、Pandas&csv Agent2-1、安装2-2、Pandas&csv Agent介绍2-3、Pandas&csv Agent使用2-3-1、相关库的导入:2-3-2、设置要调用的模型(我这里使用阿里的模型)2-3-3、数据读取&展示2-…

华为USG6000V防火墙v1

目录 一、实验拓扑图 二、要求 三、IP地址规划 四、实验配置 1🤣防火墙FW1web服务配置 2.网络配置 要求1:DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问 要求2:生产区不…

记一次酣畅淋漓的UDF提权(Linux)

外网打点就不放了,翻了一下具备suid权限的命令,没啥结果。 可疑的命令是/usr/lib/dbus-1.0/dbus-daemon-launch-helper但是没有找到用这个命令提权的资料。 弹shell后翻找一下源码,/app/api.py文件中链接了mysql,事出反常必有妖&…

Qt:18.状态栏(状态栏介绍、代码方式创建状态栏、在状态栏显示临时信息、在状态栏创建控件)

目录 1.状态栏介绍: 2.代码方式创建状态栏: 3. 在状态栏显示临时信息: 4.在状态栏创建控件: 1.状态栏介绍: Qt 状态栏是 QMainWindow 窗口的一部分,通常用于显示临时信息,如应用程序的状态、…

hbase学习

hbase学习 hbase概述: HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储海量的结构化或者半结构化,非结构化的数据(底层是字节数组做存储的) HBase是Hadoop的生态系统之一,是建立在…

系统化学习 H264视频编码(03)数据压缩流程及相关概念

说明:我们参考黄金圈学习法(什么是黄金圈法则?->模型 黄金圈法则,本文使用:why-what)来学习音H264视频编码。本系列文章侧重于理解视频编码的知识体系和实践方法,理论方面会更多地讲清楚 音视频中概念的…

国产化趋势下源代码数据防泄密的信创沙盒的方案分享

随着国产化的大力推进,越来越多的企事业单位在逐步替换Windows、Linux等操作系统的使用。那么什是国产化了?国产化是指在产品或服务中采用国内自主研发的技术和标注,替代过去依赖的他国的产品和服务,国产化又被称之为“信创”&…

pytorch实现水果2分类(蓝莓,苹果)

1.数据集的路径,结构 dataset.py 目的: 输入:没有输入,路径是写死了的。 输出:返回的是一个对象,里面有self.data。self.data是一个列表,里面是(图片路径.jpg,标签&…

错误处理在网络爬虫开发中的重要性:Perl示例_引言

错误处理的必要性 在网络爬虫的开发过程中,可能会遇到多种错误,包括但不限于: 网络连接问题服务器错误(如404或500错误)目标网站结构变化超时问题权限问题 错误处理机制可以确保在遇到这些问题时,爬虫能…

防火墙之安全策略

目录 前言: 一、实验需求 二、需求分析 三、具体操作 1,在安全区域中新建拓扑图中所显示的区域 2,在对象模块中的时间段中添加一个9:00-18:00 3,写两条安全策略,一个是生产区&#xff0c…

记录文字视差背景学习

效果图 文字背景会随鼠标上下移动变成红色或透明 html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

前端使用pinia中存入的值

导入pinia,创建pinia实例 使用pinia中的值

【Spring Boot】关系映射开发(二):一对多映射

《JPA 从入门到精通》系列包含以下文章&#xff1a; Java 持久层 API&#xff1a;JPA认识 JPA 的接口JPA 的查询方式基于 JPA 开发的文章管理系统&#xff08;CRUD&#xff09;关系映射开发&#xff08;一&#xff09;&#xff1a;一对一映射关系映射开发&#xff08;二&#…

设计已死?AIGC时代创意设计师的“智能设计”和“人智协作”

在当今这个AIGC&#xff08;AI Generated Content&#xff09;时代&#xff0c;有人宣称“设计已死”&#xff0c;认为人工智能将会完全取代设计师的工作。然而&#xff0c;事实真的如此吗&#xff1f;本文将深入探讨AIGC时代下创意设计师的“智能设计”与“人智协作”。 AIGC是…

Elasticsearch:Node.js ECS 日志记录 - Pino

在我的上一篇文章 “Beats&#xff1a;使用 Filebeat 从 Python 应用程序中提取日志” 里&#xff0c;我详述了如何使用 Python 来生成日志&#xff0c;并使用 Filebeat 来收集日志到 Elasticsearch 中。在今天的文章中&#xff0c;我来详细描述如何使用 Node.js 来生成 ECS 相…