在Debian系統上備份Jenkins數據可以通過以下幾種方法實現:
確定Jenkins主目錄:
Jenkins的主目錄通常位于 /var/lib/jenkins
。
打包需要備份的數據: 進入Jenkins主目錄,需要打包的文件包括:
config.xml
:存放Jenkins的配置信息。jobs
:存放創建的工程項目的文件。users
:存放用戶賬戶信息的文件。plugins
:存放插件的文件夾。停止Jenkins服務: 在打包和拷貝數據之前,確保Jenkins服務已經停止,以防止打包不完整或拷貝不完整。
sudo systemctl stop jenkins
拷貝備份文件: 將打包的文件拷貝到目標機器的Jenkins主目錄下。如果目標機器尚未安裝Jenkins,可以直接覆蓋這些文件夾。如果目標機器已經安裝Jenkins,則需要處理同名文件和項目。
安裝ThinBackup插件: 在Jenkins的管理界面中,選擇“系統管理” - “管理插件” - “可選插件”,搜索并安裝“ThinBackup”插件。
配置備份: 安裝完成后,在“系統管理” - “系統設置” - “ThinBackup”中進行備份設置,包括:
userContent
文件夾:選擇是否備份userContent
目錄下的文件。執行備份: 可以手動執行備份(點擊“Backup Now”按鈕),或者設置定時任務自動執行備份。
恢復備份: 在需要恢復時,選擇相應的備份文件進行恢復操作。
可以編寫一個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/