写点什么

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

作者:javaNice
  • 2023-11-02
    四川
  • 本文字数:1567 字

    阅读完需:约 5 分钟

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

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

java Nice 哥,只做原创


[TOC]

🔊业务场景:

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

📕前期准备:

  1. 两台相同型号的 linux 服务器,例如都是 x86 或者都是 arm,查询方法:lscpu

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

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

📌开始迁移

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

方式一


ps 查询启动命令


ps -ef|grep jenkins



方式二


从界面查找





方式三


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



查看 jenkins 版本,如果你不是 war 包可以通过版本号去下载 war 包


📇2.打包原 jenkins 目录

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


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

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

📆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


启动后如果遇见



表示 30095 端口被占用


通过


lsof -i:30095 查询端口占用进程



然后 kill -9 29407


重新启动,启动成功



启动成功后在浏览器访问 http://服务器 ip:30095/



可以正常访问后就可以关闭浏览器了不用登陆然后去安装推荐插件,因为我们是要去将原服务器中的插件和配置直接迁移,这时只需要将原服务器中备份的 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 账号密码去登陆就可以了


此时原服务器中配置的东西就都会展示出来,十分钟搞定啦



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


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


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


config.xml 是存放配置信息的


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


users 是存放用户账信息的


plugins 是存放插件的


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


java Nice 哥,只做原创

🖊️最后总结

🖲要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍



发布于: 刚刚阅读数: 6
用户头像

javaNice

关注

还未添加个人签名 2023-11-02 加入

还未添加个人简介

评论

发布
暂无评论
3分钟教你linux服务器无损迁移备份Jenkins_Java_javaNice_InfoQ写作社区