JIRA维护记——使用原实例位置恢复数据

news2024/11/28 14:18:39

一、出现问题

昨天下班了,同事反馈Jira又不能使用了。想都不用想,肯定是磁盘空间不足了,因为已经出现过几次了。之前都是清理一下磁盘空间即可,都不用重启Jira。

今天一上班就开始清理磁盘空间,把一些日志啊,temp目录中的文件啊之类的清理一下,已经有几百兆的空间了,刷新Jira还是不能正常使用,检索不出数据,于是尝试重启。

Jira应用程序实例一般是安装在/opt/atlassian/jira下,数据保存在/var/atlassian/application-data/jira下,如果Jira还可以正常运行,具体信息可以在系统下的系统信息中查看:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
JIRA的控制脚本在/opt/atlassian/jira/bin下面,启动与关闭有好几个脚本,最直观的就是:start-jira.shstartup.shstop-jira.shshutdown.sh。关于这几个脚本,官方有解释:Understand startup and shutdown scripts in Jira server。

脚本说明
start-jira.sh使用user.sh中定义的用户启动Jira
stop-jira.sh使用user.sh中定义的用户关闭Jira
startup.sh使用catalina.sh start中启动Jira
shutdown.sh使用当前用户关闭Jira

如果没有安装过服务,即不能使用service jira startservice jira stop来开关,正确的开关脚本应该是根据/var/atlassian/application-data/jira的用户和组来决定。

在这里插入图片描述

由于很久没维护过Jira了,忘记应该使用哪一组来关闭和启动了。就在这四个脚本中随便使用了一组脚本来关闭和启动,发现要么关闭不了,要么启动不了;要么进程还在,要么记录进程PID的/opt/atlassian/jira/work/catalina.pid文件还在;要么是启动了,因为目录不能访问,不能正常使用,反正是有问题。后面又遇到使用了两个关闭脚本都关闭不了了,就直接Kill掉进程。后面想起来,是安装过服务的,可以使用service jira startservice jira stop来开关,这才是正确的开关方式。

在使用重启大法的过程中,Jira却莫名其妙地进入到了初始化界面(注意,初始化需要许可证),要求选数据库,事感不对,赶紧备份数据,包含数据库和数据目录/var/atlassian/application-data/jira。停服,备份好后,继续操作,莫名其妙完全进入新的实例了,之前的所有东西都不见了。看了一下/var/atlassian/application-data/jira/dbconfig.xml目录下的配置,发现使用的是本地文件,不是Mysql。

<?xml version="1.0" encoding="UTF-8"?>

<jira-database-config>
  <name>defaultDS</name>
  <delegator-name>default</delegator-name>
  <database-type>h2</database-type>
  <schema-name>PUBLIC</schema-name>
  <jdbc-datasource>
    <url>jdbc:h2:file:/var/atlassian/application-data/jira/database/h2db</url>
    <driver-class>org.h2.Driver</driver-class>
    <username>sa</username>
    <password></password>
    <pool-min-size>20</pool-min-size>
    <pool-max-size>20</pool-max-size>
    <pool-max-wait>30000</pool-max-wait>
    <min-evictable-idle-time-millis>4000</min-evictable-idle-time-millis>
    <time-between-eviction-runs-millis>5000</time-between-eviction-runs-millis>
    <pool-max-idle>20</pool-max-idle>
    <pool-remove-abandoned>true</pool-remove-abandoned>
    <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
  </jdbc-datasource>
</jira-database-config>

二、解决问题

1、修改数据库连接

为了不影响正式数据,在本机虚拟机中尝试安装新Jira,并连接到数据库,得到一个新的Mysql的数据库配置dbconfig.xml(读者可以不必再新装Jira了,可以直接复制下面的配置进行修改):

<?xml version="1.0" encoding="UTF-8"?>

<jira-database-config>
  <name>defaultDS</name>
  <delegator-name>default</delegator-name>
  <database-type>mysql</database-type>
  <jdbc-datasource>
    <url>jdbc:mysql://address=(protocol=tcp)(host=127.0.0.1)(port=3306)/jira?useUnicode=true&amp;characterEncoding=UTF8&amp;sessionVariables=default_storage_engine=InnoDB</url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <username>jira</username>
    <password>jira</password>
    <pool-min-size>20</pool-min-size>
    <pool-max-size>20</pool-max-size>
    <pool-max-wait>30000</pool-max-wait>
    <validation-query>select 1</validation-query>
    <min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
    <time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
    <pool-max-idle>20</pool-max-idle>
    <pool-remove-abandoned>true</pool-remove-abandoned>
    <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
    <pool-test-on-borrow>false</pool-test-on-borrow>
    <pool-test-while-idle>true</pool-test-while-idle>
    <validation-query-timeout>3</validation-query-timeout>
  </jdbc-datasource>
</jira-database-config>

将上面的配置中连接的数据库名、IP、端口、账号、密码修改为自己所需要的,把它保存到/var/atlassian/application-data/jira/dbconfig.xml,使用service jira start启动Jira。由于前面已经初始化过了,可以进入系统,所以这里没有再进入初始化。

2、恢复系统

使用了之前的数据库连接后, 就可以使用之前的账号密码登录Jira了。然后在管理页面的系统中使用恢复系统功能:

在这里插入图片描述
从页面中可以看到,需要把要恢复的文件存放在/var/atlassian/application-data/jira/import目录下:

在这里插入图片描述

由于Jira实例还是原来的位置,所以原来的数据都还在,特别是目录/var/atlassian/application-data/jira/data保存了所有附件及头像,目录/var/atlassian/application-data/jira/export下保存了Jira自动备份的文件,找到最新的文件,复制到/var/atlassian/application-data/jira/import目录下,然后在上图文件名中填写正确的文件名,比如2023-Jun-6--2000.zip,表示是2023年6月6号20点备份的。然后复原,等待完成,重新登录即可。

又可以愉快的使用Jira了。

Btw:由于Jira会自动备份,在/var/atlassian/application-data/jira/export目录下可能会有比较多的备份文件,可以定期进行清理,以减少磁盘占用空间。

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

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

相关文章

数据在内存中的存储(打入“内部”深度剖析哦)

前面的文章介绍中&#xff0c;只对整数在内存中的存储进行了简单介绍&#xff0c;可是只了解这么一点点是远远不够的呢&#xff0c;这篇文章呢就对数据在内存中的存储的几个重难点进行了详细的介绍哦&#xff0c;希望对爱学习的小伙伴们有所帮助&#xff5e; 目录 一.数据类型…

【Protobuf速成指南】Message中如何定义“数组”?

文章目录 2.0一、字段规则1.1 规则1.2 改进1.3 消息类型作为字段类型 二、repeated字段使用方式三、Contact2.01.write.cc2.read.cc3. 查看二进制信息①hexdump② --decode选项 2.0 本系列文章将通过对通讯录项目的不断完善&#xff0c;带大家由浅入深的学习Protobuf的使用。这…

win10的另一种美化字体的方式,使用noMeiryoUI

目录 1. 前提2. 字体选择3. 查看已经安装的字体并查看效果4. 安装软件修改系统字体5. 修改浏览器字体 1. 前提 21年的时候写了一篇文章&#xff0c;《Windows10下美化字体&#xff0c;达到类似mac的效果》&#xff0c;当时还很迷恋macType这个软件的使用&#xff0c;觉得好牛逼…

Linux——安装VMwaretools实现文件共享功能

作为一个Linux初学者&#xff0c;应该熟悉相关的文件下载和安装以及简单的配置命令&#xff0c;下面通过安装一个VMwaretools来实现window环境和Linux环境下文件的共享功能的实现。 一、安装VMwaretools 点击重新安装后&#xff0c;会在桌面上看到有一个光盘&#xff0c;则代表…

单片机的基础知识和原理

单片机是一种集成了中央处理器&#xff08;CPU&#xff09;、内存、输入/输出&#xff08;I/O&#xff09;端口和其他外设的小型计算机系统。它通常用于嵌入式系统&#xff0c;如家电、汽车电子、工业控制等领域。 下面是单片机的基础知识和原理的概述&#xff1a; 架构&…

Linux系统安装——VMware15.5安装centos7.6 (附资料下载+联网配置+踩坑总结)

一、安装虚拟机VMware15.5 VMware虚拟机安装Win10&#xff0c;安装包秘钥/系统镜像/激活工具如下&#xff1a;(主要这个地址不限速&#xff0c;方便&#xff01;) https://www.123pan.com/s/g520Vv-Dg2id (遇到会拦截下载任务的浏览器&#xff0c;直接换浏览器下载即可&#xf…

【LVS负载均衡群集】

目录 一、企业群集应用概述1、群集的含义2、企业群集分类3、负载均衡群集架构1、负载均衡的结构2、负载均衡群集工作模式分析 二、LVS的三种工作模式1、NAT 模式地址转换 2、TUN模式IP隧道 3、DR模式直接路由 三、实战NAT模式 LVS负载均衡群集部署1.部署共享存储&#xff08;NF…

将安全性置于首位:考试系统源码的安全漏洞和防护措施

在当今数字化时代&#xff0c;考试系统源码的安全性已经成为了一个至关重要的问题。随着更多人开始远程学习和在线考试&#xff0c;考试系统的安全漏洞也越来越容易被利用。因此&#xff0c;在开发和使用考试系统源码应用程序时&#xff0c;保护用户数据和系统资源免受攻击是至…

思维导图整理,100个好看实用的模板分享

思维导图是一款有效提升工作和生活效率的生产力工具&#xff0c;受到全球千万用户的喜爱。 它帮助我们将所需的信息以图形的形式呈现&#xff0c;更加便于我们的记忆。头脑风暴帮助我们捕捉灵感&#xff0c;激发 我们更多的想象力。 它可以应用在我们生活以及工作的方方面面。项…

卡尔曼滤波与组合导航原理(七)平方根Kalman滤波:Potter平方根滤波、SVD分解滤波、UD分解滤波、平方根信息滤波SRIKF

文章目录 一、平方根滤波基本形式二、Potter平方根滤波1、方差阵的量测更新2、方差阵的时间更新3、Potter平方根滤波流程4、向量量测情况下的方差阵量测更新 三、奇异值&#xff08;SVD&#xff09;分解滤波1、时间更新方差方程的SVD分解2、量测更新方差方程的SVD分解3、SVD分解…

西电网课雨课堂《书法鉴赏》全部课后答案

声明&#xff1a;本文CSDN作者原创投稿文章&#xff0c;未经许可禁止任何形式的转载&#xff0c;原文链接 如果图片挂了&#xff0c;可以移步至我的博客西电网课雨课堂《书法鉴赏》答案 - 小木槌 文章目录 绪论--解惑初学书法者&#xff08;上&#xff09;绪论--解惑初学书法者…

Es elasticsearch 十八 Logstash 数据抽取工具

目录 基础 启动命令 简单配置文件 控制台输入输出打印 input从log文件获取数据-如分布式日志收集 监听端口 filter过滤器 Grok 正则捕获 Output 输出到es 文件输入 es输出 获取日志中字段 level 基础 从原数据 获取数据 发送到 某地方 Input{} filter{} output{} …

JMeter 常用的几种断言方法,你会几种呢?

在使用Jmeter进行性能测试或者接口自动化测试工作中&#xff0c;经常会用到的一个功能&#xff0c;就是断言。断言是在请求的返回层面增加一层判断机制。因为请求成功了&#xff0c;并不代表结果一定正确&#xff0c;因此需要判断机制提高测试准确性。本文 主要介绍3种常用的断…

【LSTM】读取时间序列数据 | 时间序列数据的小批量划分方法

由于序列数据本质上是连续的&#xff0c;因此我们在处理数据时需要解决这个问题。当序列过长而不能被模型一次性全部处理时&#xff0c;我们希望能拆分这样的序列以便模型方便读取。 Q&#xff1a;怎样随机生成一个具有n个时间步的mini batch的特征和标签&#xff1f; A&…

4.2 Spark SQL数据源 - 基本操作

一、默认数据源 案例演示读取Parquet文件 查看Spark的样例数据文件users.parquet 1、在Spark Shell中演示 启动Spark Shell 查看数据帧内容 查看数据帧模式 对数据帧指定列进行查询&#xff0c;查询结果依然是数据帧&#xff0c;然后通过write成员的save()方法写入HDF…

还在为开发难度发愁?这个低代码平台能让你轻松搞定!

随着数字技术的不断发展&#xff0c;数字化也越来越深入人们的日常生活中&#xff0c;在这样的时代背景下&#xff0c;企业是需要通过不断创新来满足用户日益增长的业务需求。 使用背景 对企业而言&#xff0c;随着组织规模的扩大&#xff0c;各种业务流程系统需要持续而快速地…

浮点数的存储方式和取值范围

一、有符号整型的编码方式 1. 真值 把用""、"-"表示符号&#xff0c;数值部分用绝对值的编码的表示方式称为真值。 如3用4bit真值表示为0011&#xff0c;-1用真值表示为-0011。 2. 原码 符号位为0表示正数&#xff0c;符号位为1表示负数&#xff0c;数…

网络安全的究竟如何自学?

以十五派9年信息安全教育经验以及数千名学生摸索实践可以得知&#xff0c;在知乎上能够搜索到这个问题的人不外乎三种人&#xff1a; 第一种人在找网络安全入门的捷径&#xff1b; 第二种人想自己的方向进而获得认同感&#xff1b; 第三种人是已经在自学网络安全但是过程中碰…

卡尔曼滤波与组合导航原理(九)Sage-Husa自适应滤波

自适应滤波有很多种方式&#xff0c;也很实用 一、自适应滤波基本思想 函数模型 { X k Φ k / k − 1 X k − 1 Γ k − 1 W k − 1 Z k H k X k V k \left\{\begin{array}{l} \boldsymbol{X}_{k}\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}\boldsymbol{\Gamma}_{…

Mujoco xml编写(二)

目录 .1 运行 1.1 测试 .2 XML 2,1 基础 2.3 简单实例 2.3 进阶例子 .1 运行 1.1 测试 基于Mujoco210 Ubuntu 22.04配置安装_啥也不是的py人的博客-CSDN博客完成安装后 import mujoco_py import os mj_path mujoco_py.utils.discover_mujoco() xml_path os.path.join…