温馨提示×

怎么备份Debian的Jenkins

小樊
39
2026-07-05 17:30:02
栏目: 智能运维

在 Debian 上备份 Jenkins 主要分几种情况,取决于你是单机部署还是Docker 部署,以及你希望备份到什么程度。下面给你一套最常用、最稳妥的做法。


一、Jenkins 的核心数据在哪里(很重要)

在 Debian 上,Jenkins 默认的数据目录是:

/var/lib/jenkins

里面包含:

  • jobs/:任务(Job)配置
  • config.xml:Jenkins 全局配置
  • users/:用户
  • plugins/:已安装插件
  • secrets/:凭证、密钥
  • nodes/:节点配置
  • workspace/:构建工作空间(一般不建议备份

备份重点:/var/lib/jenkins(排除 workspace)


二、最推荐的备份方式(官方思路)

1️⃣ 停止 Jenkins(避免数据不一致)

sudo systemctl stop jenkins

2️⃣ 使用 tar 打包备份(最常用)

sudo tar -czvf jenkins-backup-$(date +%F).tar.gz \
  --exclude=/var/lib/jenkins/workspace \
  /var/lib/jenkins

备份文件示例:

jenkins-backup-2026-01-21.tar.gz

3️⃣ 启动 Jenkins

sudo systemctl start jenkins

适合:系统迁移、灾难恢复、版本回滚


三、只备份“配置 + 任务”(轻量方案)

如果你只想备份 Jenkins 的配置和 Job,而不是插件缓存:

sudo tar -czvf jenkins-config-backup.tar.gz \
  /var/lib/jenkins/config.xml \
  /var/lib/jenkins/jobs \
  /var/lib/jenkins/users \
  /var/lib/jenkins/secrets \
  /var/lib/jenkins/plugins

四、使用 Jenkins 插件备份(可选)

安装插件

  • ThinBackup
  • Backup Plugin

ThinBackup 推荐设置

  • 备份目录:/var/backups/jenkins
  • 备份内容:
    • ✅ 全局配置
    • ✅ Job 配置
    • ✅ 用户
    • ✅ 插件
  • ❌ 不备份 workspace

优点: ✅ 可在 Jenkins 界面操作
❌ 插件版本兼容性有时有问题


五、Docker 方式运行 Jenkins 的备份

如果你是用 Docker 安装的 Jenkins:

docker stop jenkins

docker cp jenkins:/var/jenkins_home ./jenkins_home_backup

docker start jenkins

或:

docker run --rm \
  -v jenkins_home:/var/jenkins_home \
  -v $(pwd):/backup \
  alpine \
  tar czf /backup/jenkins-backup.tar.gz -C /var jenkins_home

六、恢复 Jenkins(关键)

1️⃣ 停止 Jenkins

sudo systemctl stop jenkins

2️⃣ 恢复数据

sudo rm -rf /var/lib/jenkins
sudo tar -xzvf jenkins-backup-2026-01-21.tar.gz -C /

3️⃣ 修复权限(非常重要)

sudo chown -R jenkins:jenkins /var/lib/jenkins

4️⃣ 启动 Jenkins

sudo systemctl start jenkins

七、自动化备份(cron 示例)

sudo crontab -e

每天凌晨 2 点备份:

0 2 * * * tar -czvf /var/backups/jenkins-$(date +\%F).tar.gz --exclude=/var/lib/jenkins/workspace /var/lib/jenkins

八、备份策略建议 ✅

内容 是否备份
Job 配置 ✅ 必须
全局配置 ✅ 必须
插件 ✅ 建议
用户 & 凭证 ✅ 必须
workspace ❌ 不建议
构建历史 可选

九、总结一句话

Debian 上备份 Jenkins = 备份 /var/lib/jenkins,排除 workspace,停止服务最安全。


如果你愿意,可以告诉我:

  • ✅ 是 apt 安装 还是 Docker
  • ✅ 是否要 自动备份到远程服务器 / 云
  • ✅ Jenkins 版本

我可以帮你写一套完全适合你环境的备份方案

0