gitlab 本地 定時備份

2021-10-23 10:58:12 字數 1683 閱讀 1982

部署:centos 7 部署 漢化版 gitlab

公升級:gitlab 公升級

本地備份:gitlab 本地 定時備份

遠端備份:gitlab 遠端 定時備份

遷移/恢復:通過 備份檔案 恢復/遷移 gitlab

經過推動,研發部門終於更換了使用了3年的git,發現之前原始碼管理並沒有備份機制,既然接手了it這塊我就得改變這種「裸奔」的現狀,為此查詢了資料,整理這一塊本地備份的解決方案。

我們預設一台伺服器已成功部署了gitlab。

如果還沒有成功部署,可以參考 centos 7 部署 漢化版 gitlab

很方便,因為gitlab有指令直接支援手動備份。

gitlab-rake gitlab:backup:create

這裡要特別說明,如果 /etc/gitlab/gitlab.rb 配置了引數「backup_path」(例如gitlab_rails['backup_path'] = '/backup'),則備份的目錄就是該目錄下(/backup/);

如果沒有配置引數「backup_path」,則gitlab把備份檔案生成到預設目錄/var/opt/gitlab/backups。

僅僅這樣不夠,每天我這裡的運維工作也有不少,如果每天都來手動備份,雖然只要幾分鐘,但是人工成本很高,所以還是要考慮使用自動定時的方式進行備份。

定時備份的思路建立在手動的基礎上,通過crontab新增定時計畫就可以解決這個問題。

一般新增定時計畫可以有2種方式:

1.使用命令crontab -e,將定時任務新增後儲存。

2.將定時任務新增到/etc/crontab檔案中。

我這裡採取第一種,使用crontab -e。

crontab -e

根據我們部門的工作時間,我設計一天備份2次,分別在每天12:00、19:00,故我新增下面的內容,並儲存。

0 12 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

0 19 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

重啟crontab

systemctl restart crond

但是僅僅實現自動備份還是不夠,備份如果不能及時清理硬碟的空間很快會不夠用,同時也要能夠自動清理不需要人工花時間在這一塊。

這一塊由於gitlab已經支援,我就走簡單的方案,配置gitlab來實現自動清理功能。

vim /etc/gitlab/gitlab.rb

將其中backup_keep_time的配置取消注釋,根據需要設定自動清理多少天前的備份,我這裡是設定備份保留7天(7*3600*24=604800),儲存。

gitlab_rails['backup_keep_time'] = 604800

gitlab-ctl reconfigure

gitlab 備份與恢復 定時備份

注 僅適用於使用 for omnibus installations 安裝的gitlab 1.執行gitlab資料備份 預設備份檔案儲存在 var opt gitlab backups 140623891 gitlab backup.tar html view plain copy sudo git...

備份本地Gitlab並且將備份檔案儲存到遠端伺服器

1 首先嘗試手動備份gitlab,只需要一條簡單的命令就可以完成 gitlab rake gitlab backup create如果是小型團隊的git伺服器這一步將很快完成,我們乙個緊湊型的物聯網研發團隊一年的 備份下來才5gb。使用以上命令會在 var opt gitlab backups目錄下...

部署本地gitlab

先介紹下自己的環境,是在虛擬機器中安裝的 ununtu 14.04,gitlab 7.4.2 community edition 官方安裝文件 2.安裝 openssh server sudo apt get install openssh server 3.安裝郵件伺服器sudo apt get ...