Jenkins系統(tǒng)如何進(jìn)行數(shù)據(jù)備份
要對(duì) Jenkins 系統(tǒng)進(jìn)行備份,本質(zhì)上是對(duì) Jenkins 的文件和目錄進(jìn)行備份,如果沒有做特殊設(shè)置的話也就是 Jenkins 的安裝目錄 /var/jenkins_home,知道這個(gè)原理后就簡(jiǎn)單了,我們可以寫個(gè) Shell 腳本,在腳本中對(duì) Jenkins 目錄進(jìn)行打包存檔,然后添加一個(gè)系統(tǒng)定時(shí)任務(wù),定期執(zhí)行 Shell 腳本來存檔 Jenkins 目錄,需要進(jìn)行恢復(fù)的時(shí)候就用存檔的內(nèi)容全部覆蓋到 Jenkins 目錄。還有一種方式就是利用 Jenkins 的備份插件,安裝好 Jenkins 的備份插件后進(jìn)行一些簡(jiǎn)單設(shè)置,備份插件就會(huì)定期對(duì) Jenkins 系統(tǒng)進(jìn)行備份,需要恢復(fù)的時(shí)候還是在插件的設(shè)置界面進(jìn)行恢復(fù)操作。
第一種方式,采用 Shell 腳本備份 Jenkins 目錄,利用 tar 命令歸檔打包文件,如果想要排除某些文件和目錄可以追加 exclude 指令。
#!/usr/bin/env bash # 指定Jenkins的安裝目錄路徑 jenkins_home='jenkins_home_path' current_date=$(date '+%Y%m%d') cd $jenkins_home || exit # 按日期備份 tar -cvzf ../jenkins_home_"$current_date".tar *
第二種方式,采用 Jenkins 插件備份 Jenkins 系統(tǒng)。在 Jenkins 的可選插件中搜索 backup 關(guān)鍵詞,看到只有如下幾個(gè)插件可選:
對(duì)比了這幾個(gè)備份插件,目前就只有這兩個(gè)還在維護(hù),Periodic Backup 、ThinBackup,其他的最后一次發(fā)布都是好幾年之前了,并且也只有 Periodic Backup 和 ThinBackup 插件的備份內(nèi)容比較全面,其他的都只是備份 Jenkins 的配置文件。經(jīng)過我的使用體驗(yàn)后發(fā)現(xiàn) Periodic Backup 和 ThinBackup 插件的設(shè)置也是比較相似的。我這個(gè)就演示下 Periodic Backup 插件的使用。
安裝 Periodic Backup 插件后在 Jenkins 的【系統(tǒng)管理】中會(huì)多出一個(gè)【Periodic Backup Manager】選項(xiàng)。
備份插件設(shè)置,主要是設(shè)置備份文件的存儲(chǔ)位置和存儲(chǔ)格式,以及備份頻率和要忽略的文件及文件夾。因?yàn)閭浞輹r(shí)會(huì)占用 CPU,我們這里將【Backup schedule (cron) 】設(shè)置在每天午夜執(zhí)行備份操作,這里的 schedule 設(shè)置支持標(biāo)準(zhǔn)的 cron 表達(dá)式。在【Excludes list】選項(xiàng)中設(shè)置要忽略的文件或者文件夾,用英文符號(hào) ; 分割:
*.log;workspace;*.jar;*.zip;*.gz;node_modules;*.hprof;*.apk;*.ipa;*.aar
全部設(shè)置如下圖:
設(shè)置好后可以點(diǎn)擊【Backup Now!】立即備份一下,也可以等著每天午夜備份插件自動(dòng)備份。備份后在【Periodic Backup Manager】插件頁(yè)面可以看到已有的備份,如果需要恢復(fù),選擇一個(gè)時(shí)間節(jié)點(diǎn)的備份文件進(jìn)行【Restore selected backup】恢復(fù)即可。
還有一種方式來備份 Jenkins 的文件目錄,那就是 Git 倉(cāng)庫(kù),我們可以把 Jenkins 的整改文件目錄當(dāng)作一個(gè) Git 代碼倉(cāng)庫(kù),將文件提交到 Git 代碼倉(cāng)庫(kù),然后再推送到遠(yuǎn)程的 Git 服務(wù)器,這也是一種不錯(cuò)的備份方式,有興趣的可以試試。
以上就是Jenkins系統(tǒng)如何進(jìn)行數(shù)據(jù)備份的詳細(xì)內(nèi)容,更多關(guān)于Jenkins系統(tǒng)數(shù)據(jù)備份的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 新手必看docker安裝jenkins詳細(xì)教程
- 幫你快速上手Jenkins并實(shí)現(xiàn)自動(dòng)化部署
- python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)
- Jenkins+Docker持續(xù)集成的實(shí)現(xiàn)
- jenkins+gitlab+nginx部署前端應(yīng)用實(shí)現(xiàn)
- 關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問題(避免踩坑)
- 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程
- 使用jenkins一鍵打包發(fā)布vue項(xiàng)目的實(shí)現(xiàn)
- 使用Jenkins Dashboard插件可視化部署的方法
- 使用jenkins部署springboot項(xiàng)目的方法步驟
- 關(guān)于jenkins插件下載失敗的解決方法
- Windows環(huán)境下實(shí)現(xiàn)Jenkins部署的教程詳解
相關(guān)文章
java開發(fā)BeanUtils類解決實(shí)體對(duì)象間賦值
這篇文章主要為大家介紹了java開發(fā)中使用BeanUtils類實(shí)現(xiàn)實(shí)體對(duì)象之間的賦值有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步學(xué)有所得2021-10-10Spring?Security?過濾器注冊(cè)脈絡(luò)梳理
這篇文章主要介紹了Spring?Security過濾器注冊(cè)脈絡(luò)梳理,Spring?Security在Servlet的過濾鏈中注冊(cè)了一個(gè)過濾器FilterChainProxy,它會(huì)把請(qǐng)求代理到Spring?Security自己維護(hù)的多個(gè)過濾鏈,每個(gè)過濾鏈會(huì)匹配一些URL,如果匹配則執(zhí)行對(duì)應(yīng)的過濾器2022-08-08SpringBoot集成Tomcat服務(wù)架構(gòu)配置
這篇文章主要為大家介紹了SpringBoot集成Tomcat服務(wù)架構(gòu)配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02通過實(shí)例學(xué)習(xí)Either 樹和模式匹配
這篇文章主要介紹了通過實(shí)例學(xué)習(xí)Either 樹和模式匹配,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06java用list集合存儲(chǔ)學(xué)生信息并算出成績(jī)平均值操作
這篇文章主要介紹了java用list集合存儲(chǔ)學(xué)生信息并算出成績(jī)平均值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08Java實(shí)現(xiàn)解數(shù)獨(dú)的小程序
最近在學(xué)習(xí)Java,然后上個(gè)月迷上了九宮格數(shù)獨(dú),玩了幾天,覺得實(shí)在有趣,就想著能不能用編程來解決,于是就自己寫了個(gè),還真解決了。下面這篇文章就給大家主要介紹了Java實(shí)現(xiàn)解數(shù)獨(dú)的小程序,需要的朋友可以參考借鑒。2017-01-01