개발일기/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