以下是在Ubuntu上部署Jenkins后备份数据的方法:
备份Jenkins主目录
Jenkins主目录默认为/var/lib/jenkins
,使用tar
命令打包关键文件(如config.xml
、jobs
、users
、plugins
):
sudo tar -czvf jenkins_backup_$(date +%Y%m%d).tar.gz /var/lib/jenkins/{config.xml,jobs,users,plugins}
可选:排除日志等大文件(--exclude=/var/lib/jenkins/logs*
)。
存储备份文件
将压缩包保存到安全位置(如外部硬盘、云存储),建议定期清理旧备份(如保留7天内)。
使用Shell脚本+定时任务
编写脚本(如backup_jenkins.sh
):
#!/bin/bash
BACKUP_DIR="/backups/jenkins"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
tar -czvf ${BACKUP_DIR}/jenkins_backup_${TIMESTAMP}.tar.gz -C /var/lib/jenkins .
find ${BACKUP_DIR} -name 'jenkins_backup_*' -mtime +7 -exec rm -rf {} \;
通过cron
设置定时任务(如每天凌晨2点执行):
sudo crontab -e
# 添加以下行
0 2 * * * /path/to/backup_jenkins.sh
使用ThinBackup插件
若Jenkins配置了MySQL/PostgreSQL等数据库,需额外备份数据库:
# MySQL示例
mysqldump -u jenkins_user -p jenkins_db > jenkins_db_backup_$(date +%Y%m%d).sql
将备份文件与Jenkins主目录备份一同保存。
sudo systemctl stop jenkins
),避免数据不一致。chmod 600
),避免敏感信息泄露。以上方法可组合使用,优先通过插件或脚本实现自动化,减少人工干预。