centos

centos jenkins部署的备份策略是什么

小樊
44
2025-12-23 15:40:41
栏目: 智能运维

CentOS 上 Jenkins 的备份策略

一 备份范围与优先级

二 备份方式与工具

三 推荐备份策略与保留

四 示例脚本与定时任务

#!/bin/bash
# jenkins_full_backup.sh

export JENKINS_HOME="${JENKINS_HOME:-/var/lib/jenkins}"
BACKUP_BASE="/backups/jenkins"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
ARCHIVE="$BACKUP_BASE/jenkins_full_$TIMESTAMP.tar.gz"

# 创建备份目录
mkdir -p "$BACKUP_BASE"

# 可选:低峰停机(确保业务允许)
# systemctl stop jenkins

# 执行打包(排除虚设与无关挂载点)
tar --exclude='proc' --exclude='lost+found' --exclude='mnt' --exclude='sys' \
    --exclude="$BACKUP_BASE" -czf "$ARCHIVE" -C / "$JENKINS_HOME" \
    /etc/sysconfig/jenkins /etc/default/jenkins /var/log/jenkins 2>/dev/null

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

# 保留最近7天
find "$BACKUP_BASE" -name 'jenkins_full_*.tar.gz' -mtime +7 -delete

echo "Backup finished: $ARCHIVE"
# crontab -e
0 2 * * * /usr/bin/bash /opt/scripts/jenkins_full_backup.sh >> /var/log/jenkins_backup.log 2>&1
#!/bin/bash
FTP_HOST="192.0.2.10"
FTP_USER="backup"
FTP_PASS="s3cr3t"
SOURCE_DIR="/var/lib/jenkins"
BACKUP_FILE="/backups/jenkins/jenkins_$(date +%F).tar.gz"

# 先本地打包(略:tar ...)

# 上传到 FTP
lftp -u "$FTP_USER","$FTP_PASS" "$FTP_HOST" <<EOF
set ftp:ssl-allow no
mirror -R "$SOURCE_DIR" jenkins_home
quit
EOF

五 恢复流程与注意事项

0
看了该问题的人还看了