CentOS 上 Jenkins 的备份与恢复
一 核心要点与准备
二 手动备份与恢复步骤
sudo systemctl stop jenkinssudo tar -czvf jenkins_backup_$(date +%Y%m%d_%H%M%S).tar.gz -C /var/lib/jenkins .sudo tar -czvf jenkins_plugins_$(date +%F).tar.gz /var/lib/jenkins/pluginssudo tar -czvf jenkins_jobs_$(date +%F).tar.gz /var/lib/jenkins/jobssudo systemctl start jenkinssudo systemctl stop jenkinssudo rm -rf /var/lib/jenkins/*sudo tar -xzvf jenkins_backup_YYYYMMDD_HHMMSS.tar.gz -C /var/lib/jenkinssudo systemctl start jenkins三 使用 ThinBackup 插件进行备份与恢复
0 2 * * *(每天 02:00 执行)**/workspace/**, **/builds/**/artifacts/**)、Max number of backup sets(保留份数)FULL-2025-03-01_02-00-00)。sudo systemctl restart jenkins四 自动化与远程备份脚本示例
#!/bin/bash
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/opt/backups/jenkins"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"
# 为一致性,先停服务(可选)
sudo systemctl stop jenkins
tar -czvf "$BACKUP_DIR/jenkins_$DATE.tar.gz" -C "$JENKINS_HOME" .
sudo systemctl start jenkins
# 清理 7 天前备份
find "$BACKUP_DIR" -name "jenkins_*.tar.gz" -mtime +7 -delete
加入定时任务(每天 02:00):0 2 * * * /opt/backups/jenkins/backup.sh >> /var/log/jenkins_backup.log 2>&1scp/rsync 免密):ssh-keygen -t rsassh-copy-id root@<备份机IP>rsync -av --delete -e ssh /opt/backups/jenkins/ root@<备份机IP>:/opt/backups/jenkins/五 恢复验证与注意事项