最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux中Jenkins如何进行备份
时间:2026-07-26 17:37:03 编辑:袖梨 来源:一聚教程网
Linux下Jenkins备份与恢复实操指南

一 核心要点与准备
- 备份的核心是JENKINS_HOME目录,几乎所有配置、任务、插件与构建元数据都在此处;Linux默认路径通常为**/var/lib/jenkins**。可在Jenkins管理界面:系统管理 → 系统信息查看实际路径。为降低体积,可按需排除workspace、builds等目录(注意这会影响构建历史与产物恢复)。备份频率建议:开发环境每周一次完整备份;测试环境每日增量、每周完整;生产环境每日多次增量、每日完整。
二 手动备份步骤
- 确认JENKINS_HOME:在Jenkins管理界面查看或使用命令:
grep -E '^JENKINS_HOME=' /etc/default/jenkins /etc/sysconfig/jenkins 2>/dev/null || echo $JENKINS_HOME - 停止服务(强烈建议,保证一致性):
sudo systemctl stop jenkins - 打包主目录(示例):
sudo tar -czvf jenkins_backup_$(date +%F).tar.gz -C /var/lib/jenkins . - 仅备份关键配置与元数据(体积更小):
sudo tar -czvf jenkins_cfg_$(date +%F).tar.gz /var/lib/jenkins/{config.xml,jobs,users,plugins,secrets} - 备份系统级配置与日志(可选):
sudo tar -czvf jenkins_sys_$(date +%F).tar.gz /etc/default/jenkins /etc/sysconfig/jenkins /var/log/jenkins - 启动服务:
sudo systemctl start jenkins - 传输到远程存储(示例):
scp jenkins_backup_*.tar.gz user@backup-server:/backup/jenkins/ - 权限与安全:确保备份文件权限为600/640,并妥善保护包含凭据的secrets/与master.key文件。
三 自动化备份脚本与定时任务
- 示例脚本(支持排除大目录、保留最近N份、异地拷贝):
#!/usr/bin/env bashset -Eeuo pipefailJENKINS_HOME="/var/lib/jenkins"BACKUP_ROOT="/mnt/backups/jenkins"DATE=$(date +%Y%m%d_%H%M%S)KEEP_DAYS=7# 创建备份目录mkdir -p "$BACKUP_ROOT"# 使用rsync排除大目录,再打包(不停机,一致性略弱于停机备份)TMP_DIR="$BACKUP_ROOT/jenkins_$DATE"rsync -a --delete --exclude='workspace/**' --exclude='builds/**/artifacts/**' --exclude='nextBuildNumber' "$JENKINS_HOME/" "$TMP_DIR/"# 打包tar czf "$BACKUP_ROOT/jenkins_backup_$DATE.tar.gz" -C "$TMP_DIR" .rm -rf "$TMP_DIR"# 可选:拷贝到远程# rsync -av "$BACKUP_ROOT/jenkins_backup_$DATE.tar.gz" user@backup-server:/backup/jenkins/# 清理旧备份find "$BACKUP_ROOT" -name 'jenkins_backup_*.tar.gz' -mtime +$KEEP_DAYS -deleteecho "Backup finished: $BACKUP_ROOT/jenkins_backup_$DATE.tar.gz"- 定时任务(每天02:00执行):
0 2 * * * /usr/local/bin/jenkins_backup.sh >> /var/log/jenkins_backup.log 2>&1 - 如需更强一致性,可在脚本中先
systemctl stop jenkins再备份,完成后systemctl start jenkins。
四 使用插件备份 ThinBackup
- 安装:进入Manage Jenkins → Manage Plugins,搜索并安装ThinBackup Plugin,重启Jenkins。
- 配置:进入Manage Jenkins → ThinBackup → Settings,设置备份目录(如**/mnt/backups/jenkins**)、备份计划(如0 2 * * )、是否备份构建结果与用户内容、以及排除路径(如/workspace/、/builds//artifacts/*)。
- 执行与恢复:点击Backup Now立即备份;恢复时在同一页面选择备份集并执行Restore,随后重启Jenkins并验证。
五 恢复与迁移要点
- 恢复步骤
- 准备相同版本的Jenkins实例(迁移时尤为关键)。
- 恢复JENKINS_HOME:先停服务
systemctl stop jenkins,清空或移走现有目录,再用备份解压覆盖至**/var/lib/jenkins**(示例:tar xzf jenkins_backup_2025-09-01.tar.gz -C /var/lib/jenkins),然后systemctl start jenkins并登录验证配置、任务与插件。
- 迁移要点
- 在新机器安装同版本Jenkins,恢复JENKINS_HOME后启动;如路径不同,确保目录权限正确(Jenkins运行用户可读写)。
- 若使用外部凭据或安全存储,确认secrets/与master.key已正确恢复;必要时在恢复后更新插件以适配新环境。
- 验证清单
- 登录管理界面检查:系统配置、全局工具、插件版本、任务配置与构建历史(若备份包含)。
- 抽样执行构建与流水线,确认工作空间与SCM拉取正常。
相关文章
- 神奇海洋今日1月14日答案更新 07-26
- 《异环》雨燕出行玩法介绍 07-26
- 《吉星派对》筹码作用介绍 07-26
- 厚涂风格牛奶饼干飞溅 07-26
- 反汇编指令可破解哪些加密算法 07-26
- 如何识别Linux日志中的攻击尝试 07-26