Ubuntu Jenkins备份与恢复指南
手动备份是最直接的备份方式,适用于临时或一次性备份需求。
sudo systemctl stop jenkins/var/lib/jenkins目录下,需打包其中的关键子目录(配置文件、作业定义、用户信息、插件):sudo tar -czvf jenkins_backup_$(date +%Y%m%d).tar.gz /var/lib/jenkins/config.xml /var/lib/jenkins/jobs /var/lib/jenkins/users /var/lib/jenkins/pluginsjenkins_backup_20251026.tar.gz)复制到安全位置(如外部硬盘、网络存储或云存储),避免本地磁盘故障导致备份丢失。通过脚本+定时任务实现定期自动备份,减少人为遗漏。
/usr/local/bin/backup_jenkins.sh),定义备份目录、时间戳及打包逻辑:#!/bin/bash
BACKUP_DIR="/backups/jenkins" # 备份存储目录(需提前创建)
JENKINS_HOME="/var/lib/jenkins" # Jenkins主目录
TIMESTAMP=$(date +%Y%m%d%H%M%S) # 当前时间戳
mkdir -p $BACKUP_DIR # 创建备份目录(若不存在)
tar -czvf $BACKUP_DIR/jenkins_backup_$TIMESTAMP.tar.gz $JENKINS_HOME/config.xml $JENKINS_HOME/jobs $JENKINS_HOME/users $JENKINS_HOME/plugins # 打包关键数据
find $BACKUP_DIR -name 'jenkins_backup-*' -type d -mtime +7 -exec rm -rf {} \; # 删除7天前的旧备份(保留最近7天)
crontab -e命令添加定时任务(如每天凌晨2点执行备份):0 2 * * * /usr/local/bin/backup_jenkins.sh通过Jenkins插件实现可视化、可配置的备份管理,适合需要长期维护的场景。
/var/backups/jenkins_thin);手动恢复适用于备份文件未损坏且无需复杂操作的场景。
sudo systemctl stop jenkins/var/lib/jenkins目录:sudo tar -xzvf jenkins_backup_20251026.tar.gz -C /var/lib/jenkins --strip-components=1--strip-components=1用于去除备份文件中的顶层目录,直接还原到Jenkins主目录)sudo systemctl start jenkins若使用ThinBackup插件备份,可通过插件界面快速恢复。
jenkins_backup_20251026)。mysqldump命令),确保配置数据不丢失。