在Ubuntu上备份和恢复Jenkins配置和数据的方法有多种,以下是一些常用的策略:
停止Jenkins服务:
sudo systemctl stop jenkins
打包Jenkins主目录:
sudo tar -czvf jenkins_backup_(date %Y%m%d).tar.gz /var/lib/jenkins
可以选择排除某些不需要备份的目录和文件,例如:
sudo tar -czvf jenkins_backup_(date %Y%m%d).tar.gz --exclude /var/lib/jenkins/logs/* --exclude /var/lib/jenkins/plugins/* /var/lib/jenkins
保存备份文件:将备份文件保存到安全的位置,根据需要删除旧的备份文件以节省空间。
安装ThinBackup插件:
配置ThinBackup:
执行备份:
sudo java -jar /usr/share/jenkins/plugins/thinbackup/thinbackup.jar backup
#!/bin/bash
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/path/to/backup/directory"
rsync -avz --exclude '.log' --exclude '.jar' --exclude '.zip' $JENKINS_HOME $BACKUP_DIR
inotifywait -m -r -e create,modify,delete --format '%w%f' $JENKINS_HOME | while read FILE; do
rsync -avz --exclude '.log' --exclude '.jar' --exclude '.zip' $JENKINS_HOME $BACKUP_DIR
done
将上述脚本保存为jenkins_backup.sh
,并设置为可执行权限:chmod +x jenkins_backup.sh
然后可以使用crontab
来定时执行这个脚本:crontab -e
添加如下行来每天凌晨2点执行备份:0 2 * * * /path/to/jenkins_backup.sh
恢复Jenkins主目录:
/var/lib/jenkins
)。sudo systemctl start jenkins
使用插件进行恢复:
sudo systemctl restart jenkins
恢复数据库: