3分钟教你linux服务器无损迁移备份Jenkins

3分钟教你linux服务器无损迁移备份Jenkins

**业务场景:**一台服务器到期,jenkins正好部署在这台服务器,这时候如果在新服务器重新安装然后配置jenkins的每个服务时间两天起步,于是考虑将原服务器jenkins无损迁移到新服务器上,时间只需3分钟,nice
前期准备:

  1. 两台相同型号的linux服务器,例如都是x86或者都是arm,查询方法:lscpu
    3分钟教你linux服务器无损迁移备份Jenkins_第1张图片

  2. 两台服务器都安装好基础环境,jdk ,git,maven等(这个自行百度哈)

  3. 原jenkins的war包,如果没有需要自己看下自己现在jenkins的版本号然后重新下载下

开始迁移

1.找到原服务器中jenkins的目录

方式一

ps查询启动命令

ps -ef|grep jenkins

方式二

从界面查找

3分钟教你linux服务器无损迁移备份Jenkins_第2张图片
3分钟教你linux服务器无损迁移备份Jenkins_第3张图片
3分钟教你linux服务器无损迁移备份Jenkins_第4张图片

方式三

linux服务器通过命令查看,可以使用cat /etc/sysconfig/jenkins命令查看主目录

查看jenkins版本,如果你不是war包可以通过版本号去下载war包
3分钟教你linux服务器无损迁移备份Jenkins_第5张图片

2.打包原jenkins目录

找到数据目录位置,将原服务器中的数据目录打包 得到一个压缩包

tar -czvf jenkins.tar.gz /home/jenkins

3.将原jenkins 启动war包备份, 位置在这里

img

4.将原服务器中缓存目录备份 也可以不备份(这一步非必须,仅做了解),缓存目录位置在这里

在这里插入图片描述

5.登陆新服务器 上传好刚刚备份的jenkins war包

通过jar命令启动jenkins

/usr/java/jdk1.8.0_151/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/home/jenkins2 -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenks2/jenkins.log --webroot=/var/cache/jenkins2/war --daemon --httpPort=30095 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 &

此处的/usr/java/jdk1.8.0_151/bin/java 为我自己本地的jdk安装目录

/home/jenkins2 为指定数据目录

/var/log/jenks2/jenkins.log 启动日志文件地址

/var/cache/jenkins2/war缓存文件地址

httpPort=30095 jenkins启动端口为30095

如果想后台启动可以加上nohup命令

nohup /usr/java/jdk1.8.0_151/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/home/jenkins2 -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenks2/jenkins.log --webroot=/var/cache/jenkins2/war --daemon --httpPort=30095 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 &

小知识:可以通过nc命令查询该端口是否可以正常访问

nc -v -w 10 -z 服务器ip 12800

启动后如果遇见
3分钟教你linux服务器无损迁移备份Jenkins_第6张图片

表示30095端口被占用

通过

lsof -i:30095查询端口占用进程
3分钟教你linux服务器无损迁移备份Jenkins_第7张图片

然后kill -9 29407

重新启动,启动成功

3分钟教你linux服务器无损迁移备份Jenkins_第8张图片

启动成功后在浏览器访问http://服务器ip:30095/
3分钟教你linux服务器无损迁移备份Jenkins_第9张图片

可以正常访问后就可以关闭浏览器了不用登陆然后去安装推荐插件,因为我们是要去将原服务器中的插件和配置直接迁移,这时只需要将原服务器中备份的jenkins数据目录/jenkins/home包复制到新服务器中/home/jenkins2 中,/home/jenkins2为新服务器启动时指定的数据目录

然后ctrl+c 先停止刚刚启动的jenkins

然后重新执行

/usr/java/jdk1.8.0_151/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/home/jenkins2 -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenks2/jenkins.log --webroot=/var/cache/jenkins2/war --daemon --httpPort=30095 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 &

此时就会去加载/home/jenkins2中东西,访问http://服务器ip:30095/

用原服务器中的原jenkins账号密码去登陆就可以了

此时原服务器中配置的东西就都会展示出来,十分钟搞定啦
3分钟教你linux服务器无损迁移备份Jenkins_第10张图片

最主要就是将jenkins的主目录替换一下

最主要打包4个文件就可以了,

分别是config.xml文件,jobs文件夹,users文件夹和plugins文件夹。

config.xml是存放配置信息的

jobs是存放创建的工程项目的

users是存放用户账信息的

plugins是存放插件的

觉得有用点个关注支持下吧,gzh->JavaNice

你可能感兴趣的:(jenkins,linux,服务器)