在 CentOS 上备份 Jenkins,通常从 JENKINS_HOME、插件、任务配置、系统配置 几方面入手。下面给你一套常用且安全的备份方案,从简单到专业都有。
grep JENKINS_HOME /etc/sysconfig/jenkins
常见路径:
/var/lib/jenkins
或在 Jenkins 页面查看:
Manage Jenkins → System Information → JENKINS_HOME
systemctl stop jenkins
tar -czvf jenkins-backup-$(date +%F).tar.gz /var/lib/jenkins
systemctl start jenkins
✅ 恢复方法
systemctl stop jenkins
rm -rf /var/lib/jenkins/*
tar -xzvf jenkins-backup-2026-01-21.tar.gz -C /
systemctl start jenkins
/var/lib/jenkins/
├── config.xml
├── jobs/
├── users/
├── secrets/
├── nodes/
├── credentials.xml
├── plugins/
tar -czvf jenkins-backup-$(date +%F).tar.gz \
/var/lib/jenkins/config.xml \
/var/lib/jenkins/jobs \
/var/lib/jenkins/users \
/var/lib/jenkins/secrets \
/var/lib/jenkins/nodes \
/var/lib/jenkins/credentials.xml \
/var/lib/jenkins/plugins
ThinBackup
Manage Jenkins → ThinBackup → Settings
推荐配置:
/data/jenkins_backupH 2 * * *✅ 优点:
vi /usr/local/bin/backup_jenkins.sh
#!/bin/bash
BACKUP_DIR=/data/jenkins_backup
JENKINS_HOME=/var/lib/jenkins
DATE=$(date +%F)
mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/jenkins-$DATE.tar.gz \
$JENKINS_HOME/config.xml \
$JENKINS_HOME/jobs \
$JENKINS_HOME/users \
$JENKINS_HOME/secrets \
$JENKINS_HOME/nodes \
$JENKINS_HOME/credentials.xml
# 保留 7 天
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
chmod +x /usr/local/bin/backup_jenkins.sh
crontab -e
0 2 * * * /usr/local/bin/backup_jenkins.sh >> /var/log/jenkins_backup.log 2>&1
docker cp jenkins:/var/jenkins_home /backup/jenkins_home
或 volume 直接备份:
tar -czvf jenkins-docker-backup.tar.gz /var/lib/docker/volumes/jenkins_home/_data
| 项目 | 建议 |
|---|---|
| 频率 | 每天 |
| 方式 | ThinBackup / tar |
| 存储 | 异地 / NAS / 对象存储 |
| 验证 | 定期恢复测试 |
| 安全 | secrets 目录权限保护 |
⚠️ 不要只备份 jobs
⚠️ 备份时尽量停 Jenkins
⚠️ 权限问题
chown -R jenkins:jenkins /var/lib/jenkins
如果你愿意,我可以:
你现在是 物理机 / 虚拟机 / Docker / K8s?