核心步骤:
sudo systemctl stop jenkins
/var/lib/jenkins,需重点备份;额外备份配置文件(/etc/default/jenkins或/etc/sysconfig/jenkins)和日志(/var/log/jenkins)以覆盖系统级设置。sudo tar -czvf jenkins_full_backup.tar.gz /var/lib/jenkins /etc/default/jenkins /var/log/jenkins
通过cron实现定期自动备份,减少人为遗漏。
#!/bin/bash
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/backups/jenkins"
DATE=$(date +%Y%m%d)
tar -czvf "$BACKUP_DIR/jenkins_backup_$DATE.tar.gz" "$JENKINS_HOME"/config.xml "$JENKINS_HOME"/jobs "$JENKINS_HOME"/plugins
crontab(crontab -e),添加每日凌晨2点执行脚本的任务:0 2 * * * /path/to/backup_script.sh
脚本需赋予执行权限(chmod +x /path/to/backup_script.sh)。使用ThinBackup插件(推荐)或Periodic Backup Plugin,通过Web界面配置备份策略,无需手动操作。
/backups/jenkins_thin);/var/lib/jenkins/workspace,减少备份体积)。若Jenkins配置了外部数据库(如MySQL、PostgreSQL),需定期备份数据库文件(如SQLite的jenkins.db)或导出SQL dump。
/var/lib/jenkins/jenkins.db):sqlite3 /var/lib/jenkins/jenkins.db ".dump" > jenkins_db_backup.sql
mysqldump、pg_dump)导出数据。核心步骤:
sudo systemctl stop jenkins
sudo rm -rf /var/lib/jenkins/*
sudo tar -xzvf /path/to/backup/jenkins_full_backup.tar.gz -C /var/lib/jenkins
sudo systemctl start jenkins
若使用ThinBackup备份,可通过插件界面快速恢复:
jenkins_backup_20250925.tar.gz),点击Restore selected backup。若备份了数据库文件,需将备份数据导入数据库:
sqlite3 /var/lib/jenkins/jenkins.db < jenkins_db_backup.sql
mysql、psql)导入SQL dump。