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