linux

Jenkins在Linux怎样备份

小樊
34
2025-11-24 12:27:37
栏目: 智能运维

Jenkins在Linux上的备份与恢复指南

一、核心要点与准备

二、手动备份步骤

三、自动化备份脚本与定时任务

#!/usr/bin/env bash
set -Eeuo pipefail

JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/mnt/backups/jenkins"
RETENTION_DAYS=7
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/var/log/jenkins_backup.log"

mkdir -p "$BACKUP_DIR"

# 可选:停止服务以提升一致性(高一致性场景使用)
# sudo systemctl stop jenkins || { echo "$(date): 停止Jenkins失败"; exit 1; }

tar czf "$BACKUP_DIR/jenkins_${TIMESTAMP}.tar.gz" \
  -C "$JENKINS_HOME" \
  --exclude='workspace' \
  --exclude='jobs/*/workspace' \
  --exclude='jobs/*/builds/*/artifacts' \
  --exclude='cache' \
  --exclude='tools' \
  --exclude='logs' \
  . || { EXIT_CODE=$?; echo "$(date): 备份失败,退出码: $EXIT_CODE" | tee -a "$LOG_FILE"; exit $EXIT_CODE; }

# 可选:启动服务
# sudo systemctl start jenkins

# 清理旧备份
find "$BACKUP_DIR" -name 'jenkins_*.tar.gz' -mtime +$RETENTION_DAYS -delete

echo "$(date): 备份成功: $BACKUP_DIR/jenkins_${TIMESTAMP}.tar.gz" | tee -a "$LOG_FILE"

四、使用ThinBackup插件备份

五、恢复与迁移及注意事项

0
看了该问题的人还看了