温馨提示×

如何备份Debian Jenkins数

小樊
41
2026-09-08 02:11:16
栏目: 智能运维

下面按常见场景给你讲如何备份 Debian 上的 Jenkins 数据,包含核心目录、配置方式、自动化建议


一、Jenkins 在 Debian 上的关键数据位置

默认安装(通过 apt)时:

/var/lib/jenkins        # 核心数据(最重要)
/var/lib/jenkins/jobs  # 任务配置
/var/lib/jenkins/config.xml
/var/lib/jenkins/users
/var/lib/jenkins/plugins
/etc/default/jenkins   # 启动参数(deb 包)

如果你是用 Docker 跑的 Jenkins,则数据是挂载的 volume,不是这个路径。


二、最推荐的备份方式(手动)

1️⃣ 停止 Jenkins(可选但推荐)

sudo systemctl stop jenkins

2️⃣ 备份核心目录

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

如果想连配置一起:

sudo tar -czvf jenkins-full-backup-$(date +%F).tar.gz \
  /var/lib/jenkins \
  /etc/default/jenkins

3️⃣ 启动 Jenkins

sudo systemctl start jenkins

恢复时:解压覆盖 /var/lib/jenkins 即可


三、使用 Jenkins 官方插件(推荐)

ThinBackup 插件(最常用)

  1. Jenkins → Manage Jenkins
  2. 安装 Thin Backup
  3. 配置:
    • Backup directory
    • 定时备份(如每天 2 点)
    • 是否备份 plugins / jobs
  4. 支持一键恢复

✅ 优点:不中断 Jenkins
❌ 缺点:仍依赖文件系统


四、Docker 版 Jenkins 备份

如果你是这样跑的:

docker run -v jenkins_home:/var/jenkins_home jenkins/jenkins

备份 volume:

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

五、自动化备份脚本示例

#!/bin/bash
BACKUP_DIR=/backup/jenkins
DATE=$(date +%F)

systemctl stop jenkins
tar -czf $BACKUP_DIR/jenkins-$DATE.tar.gz /var/lib/jenkins
systemctl start jenkins

加 crontab:

0 2 * * * /root/backup_jenkins.sh

六、注意事项(很重要)

  • plugins 目录必须备份(否则构建会失败)
  • ✅ 凭据(credentials)在 credentials.xml
  • ❌ 不要只备份 job 配置,漏了全局配置
  • ❌ 不要直接 rsync 正在运行的 Jenkins(可能不一致)

七、你需要哪一种?

你可以告诉我:

  • apt 安装 还是 Docker
  • 是否允许 停机备份
  • 是否需要 定时自动备份

我可以直接给你一套可用脚本

0