Linux环境下Jenkins备份与恢复实操指南
一 核心要点与备份范围
二 手动备份步骤
三 自动化备份脚本与定时任务
#!/usr/bin/env bash
set -e
JENKINS_HOME="/var/lib/jenkins"
BACKUP_BASE="/data/jenkins_bak"
KEEP_DAYS=7
mkdir -p "$BACKUP_BASE"
TS=$(date +%Y%m%d-%H%M%S)
TMP_DIR="$BACKUP_BASE/jenkins-bak-$TS"
ARCHIVE="$BACKUP_BASE/jenkins-bak-$TS.tar.gz"
# 使用 rsync 增量同步并排除大体积目录
rsync -a --delete \
--exclude='builds' \
--exclude='modules' \
--exclude='nextBuildNumber' \
"$JENKINS_HOME/" "$TMP_DIR/"
# 归档
tar czf "$ARCHIVE" -C "$TMP_DIR" .
rm -rf "$TMP_DIR"
# 清理旧备份(按文件数量)
(cd "$BACKUP_BASE" && ls -1t | tail -n +$((KEEP_DAYS+1)) | xargs rm -f)
echo "[$TS] Backup finished: $ARCHIVE"
#!/usr/bin/env bash
set -e
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/data/jenkins_bak"
TS=$(date +%F)
mkdir -p "$BACKUP_DIR"
tar czf "$BACKUP_DIR/jenkins_cfg_jobs_$TS.tar.gz" \
-C "$JENKINS_HOME" config.xml jobs users plugins
四 使用插件进行备份 ThinBackup
五 恢复与验证