Ubuntu 上 Jenkins 的备份与恢复

一 核心原则与准备
二 手动备份与自动化
sudo systemctl stop jenkinssudo tar -czvf jenkins_backup_$(date +%F).tar.gz -C /var/lib/jenkins .sudo systemctl start jenkins--exclude jobs/*/builds --exclude jobs/*/workspace --exclude logs--exclude cache --exclude tmp/opt/backup/jenkins_backup.sh#!/usr/bin/env bashset -eBACKUP_DIR="/opt/backups/jenkins"JENKINS_HOME="/var/lib/jenkins"TIMESTAMP=$(date +%F_%H-%M-%S)mkdir -p "$BACKUP_DIR"sudo tar -czvf "$BACKUP_DIR/jenkins_$TIMESTAMP.tar.gz" -C "$JENKINS_HOME" --exclude='jobs/*/builds' --exclude='jobs/*/workspace' --exclude='logs' --exclude='cache' --exclude='tmp' .0 2 * * * /opt/backup/jenkins_backup.sh >> /var/log/jenkins_backup.log 2>&1find $BACKUP_DIR -mtime +30 -delete 清理 30 天前归档。三 使用插件进行备份 ThinBackup
四 恢复步骤与迁移要点
sudo systemctl stop jenkinssudo mv /var/lib/jenkins /var/lib/jenkins.bak_$(date +%F)sudo tar -xzvf /opt/backups/jenkins_YYYY-MM-DD_HH-MM-SS.tar.gz -C /sudo chown -R jenkins:jenkins /var/lib/jenkinssudo systemctl start jenkinsJAVA_ARGS="-Djavax.net.ssl.trustStore=$JENKINS_HOME/jenkins_keystore.jks")。五 验证与最佳实践
ls $JENKINS_HOME/plugins/ | awk -F'.' '{print $1}' > plugins.list 恢复后再次导出并 diff 校验。