在Debian系统上备份和恢复Jenkins数据可以通过以下几种方法实现:
/var/lib/jenkins
。config.xml
:存放Jenkins的配置信息。jobs
:存放创建的工程项目的文件。users
:存放用户账户信息的文件。plugins
:存放插件的文件夹。sudo systemctl stop jenkins
userContent
文件夹:选择是否备份userContent
目录下的文件。可以编写Shell脚本来实现自动备份。例如:
#!/bin/bash
# 指定Jenkins的安装目录路径
JENKINS_HOME="/var/lib/jenkins"
# 当前日期
current_date=$(date +%Y%m%d)
# 备份目录
backup_dir="/backups/jenkins_${current_date}"
# 进入Jenkins主目录
cd $JENKINS_HOME
# 按日期备份
tar -czvf $backup_dir".tar.gz" config.xml jobs users plugins
将上述脚本保存为可执行文件,并添加到系统的定时任务中,例如使用cron每天执行备份。
如果希望进行增量备份,可以使用rsync
命令:
rsync -av --delete /var/lib/jenkins/ /backups/jenkins_${current_date}
borgbackup是一个高效的备份工具,适合用于远程备份:
borg create --verbose --filter AME --list --stats --show-rc --one-file-system --exclude-caches --compression zstd,level19 --exclude '/dev/*' --exclude '/proc/*' --exclude '/run/*' --exclude '/sys/*' --exclude '/tmp/*' --exclude '/var/tmp/*' --exclude '/mnt/*' --exclude '/media/*' --exclude '/lostfound' --exclude '/swapfile' --exclude '/swap分区' --exclude '/var/lib/docker/*' --exclude '/home/*/.cache/*' backup::archive /var/lib/jenkins/