jenkins备份与还原

1)备份linux上的jenkins为 jenkins-full.zip

复制代码
step1:
apt install zip


step2:备份
cd /data/jenkins/home

# 打包:任务 + 用户 + 密钥 + 全局配置 + 凭证(完美克隆)
zip -r jenkins-full.zip \
jobs/ \
users/ \
secrets/ \
plugins/ \
nodes/ \
*.xml \
secret.key \
identity.key.enc \
-x "jobs/*/builds/*" \
-x "jobs/*/workspace/*"

2)以在win上还原为例子,注意要使用和备份的jenkins一个版本的jar

3)启动jenkins,可以写个start.sh 通过sh start.sh在win上启动

复制代码
java -Xmx5120m -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -DJENKINS_HOME=./workspace -jar jenkins.war --httpPort=8089 /dev/null

4)输入默认密码

复制代码
[CRLF]> This may also be found at: E:\work_slm_backup\2测数据_20260430\jenkins_test3\workspace\secrets\initialAdminPassword

5)选择右边 "选择插件来安装"--》无--》安装--》使用admin账户继续--》保存并完成--》开始使用jenkins

6)停止jenkins

7)还原配置: 解压之前备份的jenkins-full.zip,覆盖下workspace

8)修改为不认证: 修改confix.xml3处

复制代码
<!-- 保留这一行,你已经改好了 -->
<useSecurity>false</useSecurity>

<!-- 👇 删除或注释掉整个 authorizationStrategy 节点 -->
<!--
<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
  <permission>USER.com.cloudbees.plugins.credentials.CredentialsProvider.Create:lichengyu</permission>
  ... 所有权限配置都删掉 ...
</authorizationStrategy>
-->

<!-- 👇 同时删掉或注释掉 securityRealm 节点(如果存在) -->
<!--
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
  ... 用户配置 ...
</securityRealm>
-->

9)重启jenkins

10)准备能登录的账户和密码

方式1:修改下之前账户密码

选择为这个后,才能看到users

选择任意一个账户

修改下新的密码

方式2: 新建账户

复制代码
import jenkins.model.*
import hudson.security.*

def instance = Jenkins.get()
def securityRealm = instance.getSecurityRealm()
def account = "jianan"  // 用户名 = 密码

if (securityRealm instanceof HudsonPrivateSecurityRealm) {
    def user = securityRealm.createAccount(account, account)
    println "用户 ${account} 创建成功!"  // 这里用变量,自动显示正确用户名
} else {
    println "当前安全域不是 Jenkins 自带用户系统,请先在 Security 里设置为 Jenkins' own user database"
}

11)停止jenkins

12)加回来认证

复制代码
<useSecurity>true</useSecurity>

  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  </authorizationStrategy>

  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

13)重启jenkins

14)用之前的账户或者新的登录下发现恢复了!!!

相关推荐
ITyunwei098717 分钟前
技术管理者视角:AI 重构 ITSM 的四个工程化落点
运维·人工智能
666_qq_403882332 小时前
Tabstack 浏览器自动化实战应用指南
运维·自动化
明志数科4 小时前
宇树科技IPO背后的产业逻辑:人形机器人从“讲故事“到“交数据“
运维·服务器·数据库
外滩运维专家4 小时前
验证码接口上线三天就被刷了,我后来加的几道防线
运维
跨境小彭4 小时前
店群运营实操复盘:批量活动申报自动化优化方案
大数据·运维·人工智能·自动化·跨境电商·temu·temu电商运营
Jlzn88885 小时前
2026年锂电CCS组装线:车规储能双场景兼容自动化方案的技术架构与实践
运维·架构·自动化
AC赳赳老秦5 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
代码方舟5 小时前
企业级对公银行 KYC 架构:基于天远人脸身份证比对A构建自动化客户尽调网关
运维·人工智能·架构·自动化
ShiXZ2136 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php
小五传输6 小时前
Serv-U替代方案怎么选?政务机关文件安全传输对比与迁移指南
大数据·运维·安全