개발일기/GitLab

[GitLab] gitlab backup, restore

탐요 2023. 7. 7. 15:40

이 글에서는

A서버의 gitlab에서 백업파일을 만들어서

B서버의 gitlab으로 restore하는 과정을 설명한다

 

****백업 및 리스토어 전 확인할 것

서버에 충분한 공간이 있는가!!!!!!!!

 

-> A서버에서 현재 디스크를 얼마나 사용하고 있는지 미리 확인하고

B서버에 그만큼의 공간+a가 있는지 확인한 후 리스토어 진행!!

(디스크 공간 확인 명령어 : df -h)

 

절대 리스토어하다가 서버 공간 부족해서 tmp 파일도 못만드는 지경까지 이르러서 삭제하고 다시 서버 공간 추가하느라고 고생하다가 적은 글이 아니다

 

백업 서버(A 서버)에서 백업파일 만들기

# 백업 위치 : /var/opt/gitlab/backups
gitlab-rake gitlab:backup:create

 

백업 위치에서 백업한 파일을 리스토어 서버(B 서버)로 옮기기

필자는 A-B서버간 통신이 막혀있어 filezilla로 했는데...

서버간 통신이 막혀있지 않다면 리눅스 파일 전송을 활용하는 것을 추천한다

# 해당 경로에 백업파일 위치시키기
cd /var/opt/gitlab/backups

# owner 변경
chown git:root <백업파일>
# 권한 변경
chmod 600 1688533625_2023_07_05_15.0.0_gitlab_backup.tar

 

리스토어 서버(B 서버)에서 리스토어하기

리스토어 전에 df -h로 공간 있는지 확인하자... 두번째 말한다..

# 데이터베이스와 연결되는 프로세스 정지
gitlab-ctl stop unicorn
gitlab-ctl stop puma
gitlab-ctl stop sidekiq

# 정지 확인
gitlab-ctl status
# 백업 명령어
# 백업파일 뒤에 붙은 "_gitlab_backup.tar"를 떼고 넣어야한다!!!!!!!!
gitlab-backup restore BACKUP=1688533625_2023_07_05_15.0.0
# gitlab 재시작
gitlab-ctl restart