본문 바로가기

리눅스

GitLab Omnibus 백업 및 복원하는 방법

반응형

GitLab Omnibus 백업 및 복원하는 방법(backup/restore)

GitLab Omnibus의 백업 및 복원 과정은 GitLab 설치와 관련된 모든 데이터를 안전하게 보관하고 필요할 때 신속하게 복원할 수 있도록 하는 중요한 절차입니다.

백업 디렉터리 확인 및 설정

GitLab의 백업 파일이 저장될 디렉터리를 설정합니다. 기본 디렉터리는 /var/opt/gitlab/backups입니다. 이 디렉터리를 변경하려면 /etc/gitlab/gitlab.rb 파일을 수정합니다.

docker exec -it gitlab cat /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/your/backup/directory'

GitLab 구성 재구성

설정 파일을 수정한 후 GitLab 구성을 다시 로드합니다.

docker exec -t gitlab gitlab-ctl reconfigure

백업 생성(GitLab Backup)

GitLab의 백업을 생성하려면 아래 명령어를 실행합니다.

 

  • GitLab 12.2 이상
docker exec -t <container name> gitlab-backup create
  • GitLab 12.2 이하
docker exec -t <container name> gitlab-rake gitlab:backup:create

백업 파일 확인

백업이 완료되면 지정된 디렉터리에 타임스탬프가 포함된 .tar 파일이 생성됩니다.

$ docker exec -t gitlab gitlab-backup create
--output--
1623113641_2021_06_08_13.12.2_gitlab_backup.tar
$ docker exec -t gitlab gitlab-backup create BACKUP=dump GZIP_RSYNCABLE=yes
--output--
dump_gitlab_backup.tar

복원(GitLab Restore)

GitLab 서비스 중지

  • 복원을 수행하기 전에 GitLab 서비스를 중지합니다.
docker exec -it <name of container> gitlab-ctl stop
더보기

---

데이터베이스에 연결된 프로세스를 중지

docker exec -it <name of container> gitlab-ctl stop puma
$ docker exec -it gitlab gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq
$ docker exec -it gitlab gitlab-ctl stop sidekiq

---

백업 파일 이동

  • 복원하려는 백업 파일을 백업 디렉터리 (/var/opt/gitlab/backups 또는 설정된 디렉터리)로 이동합니다.

프로세스가 모두 중단되었는지 확인

docker exec -it <name of container> gitlab-ctl status
$ docker exec -it gitlab gitlab-ctl status

백업 파일 소유권 설정

  • 백업 파일의 소유권을 GitLab 사용자로 변경합니다.
docker exec -it <name of container> sh -c "chown git:git /var/opt/gitlab/backups/1626071519_2021_07_12_13.0.6_gitlab_backup.tar"

백업 복원

  • 복원 명령어를 실행하여 백업을 복원합니다.
docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce
$ docker exec -it gitlab gitlab-backup restore BACKUP=1623113641_2021_06_08_13.12.2

GitLab 구성 재구성

  • GitLab의 재구성을 실행하여 설정이 올바르게 적용되었는지 확인합니다.
docker exec -it <name of container> gitlab-ctl reconfigure

GitLab 서비스 시작

  • GitLab 서비스를 다시 시작합니다.
docker exec -it <name of container> gitlab-ctl start
더보기

---

GitLab 컨테이너 다시 시작

docker restart <name of container>
$ docker restart gitlab

---

GitLab 확인

docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true
$ docker exec -it gitlab gitlab-rake gitlab:check SANITIZE=true

** 배업 파일명 : 11493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar 파일명

리스토어 시 11493107454_2018_04_25_10.6.4까지만 기재하면 됩니다.

 

참고URL

- GitLab Docs : Back up and restore GitLab

 

728x90
반응형