GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。很多公司都是直接搭建 Gitlab 服务,管理自己公司的代码。这也要求 gitlab 的数据不能丢失,丢失了损失巨大。因此,下面将介绍怎样对 gitlab 的数据进行备份。
在进行 gitlab 备份时需要保持 gitlab 处于正常运行状态,然后执行 gitlab-rake gitlab:backup:create 命令进行备份。备份耗时会根据 gitlab 中数据的多少而定,数据多备份需要多等待一会儿。
默认情况下,gitlab 将备份文件存放到 /var/opt/gitlab/backups 目录。备份会创建一个名称类似为 1681841218_2023_04_19_11.7.5-ee_gitlab_backup.tar 的压缩包, 这个压缩包就是 gitlab 数据的完整备份,其中开头的 1681841218_2023_04_19_11.7.5 是备份创建的日期。
备份本机的 gitlab,如下:
(1)执行命令进行备份。
[root@localhost ~]# gitlab-rake gitlab:backup:create Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] done Dumping repositories ... * hxstrive/spring_demo ... [DONE] [SKIPPED] Wiki * hxstrive/spring_data_demo ... [DONE] [SKIPPED] Wiki * hxstrive/java_demo ... [DONE] .... [SKIPPED] Wiki done Dumping uploads ... done Dumping builds ... done Dumping artifacts ... done Dumping pages ... done Dumping lfs objects ... done Dumping container registry images ... [DISABLED] Creating backup archive: 1681873161_2023_04_19_11.7.5-ee_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done done done done Deleting old backups ... done. (0 removed)
(2)查看备份后的压缩文件。
[root@localhost ~]# ls -l /var/opt/gitlab/backups/ Total 11811461120 -rw-------. 1 git git 11811461120 4月 19 11:02 1681873161_2023_04_19_11.7.5-ee_gitlab_backup.tar