在 Debian 上备份 Jenkins 主要分几种情况,取决于你是单机部署还是Docker 部署,以及你希望备份到什么程度。下面给你一套最常用、最稳妥的做法。
在 Debian 上,Jenkins 默认的数据目录是:
/var/lib/jenkins
里面包含:
jobs/:任务(Job)配置config.xml:Jenkins 全局配置users/:用户plugins/:已安装插件secrets/:凭证、密钥nodes/:节点配置workspace/:构建工作空间(一般不建议备份)✅ 备份重点:/var/lib/jenkins(排除 workspace)
sudo systemctl stop jenkins
sudo tar -czvf jenkins-backup-$(date +%F).tar.gz \
--exclude=/var/lib/jenkins/workspace \
/var/lib/jenkins
备份文件示例:
jenkins-backup-2026-01-21.tar.gz
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
/var/backups/jenkins优点:
✅ 可在 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
sudo systemctl stop jenkins
sudo rm -rf /var/lib/jenkins
sudo tar -xzvf jenkins-backup-2026-01-21.tar.gz -C /
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo systemctl start jenkins
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,停止服务最安全。
如果你愿意,可以告诉我:
我可以帮你写一套完全适合你环境的备份方案。