일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- PYTHON
- port forwarding
- SWIFT
- Jupyter Notebook
- STF
- nohup
- GoCD
- nGrinder
- sshpass
- centos
- ssh
- rethinkdb
- ftp
- Jupyter
- insert
- 실행권한
- create table
- appium server
- ubuntu
- mysql
- Materials
- appium
- openpyxl
- postgresql
- perfect
- nmap
- postgres
- 28015
- STF_PortForwarding
- kitura
- Today
- Total
don't stop believing
[GitLab] Backup & Restore 본문
데이터가 쌓이는 곳이니 backup과 restore도 확인해 보면 좋겠다.
우선 Backup 설정을 해보자.
Backup 설정은 gitlab.yml파일에 있다. vim 으로 gitlab.yml 파일을 열어서 Backup settings 부분을 확인하다.
1$ sudo vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
vi 또는 vim으로 열었다면 :/backup 으로 파일 내용을 검색할 수 있다.
Backup setting 부분을 찾았다면 Backup 경로를 확인한다. 그리고 Backup 이후 오래된 버전을 자동으로 지우려면 keep_time 부분을 설정하면 된다. 설정은 초 단위이며 604800초면 7일이 된다.
Backup 이후 일주일 이전의 Backup 파일은 삭제하게 된다.
1234567891011121314## Backup settingsbackup:path: "/var/opt/gitlab/backups" # Relative paths are relative to Rails.root (default: tmp/backups/)archive_permissions: # Permissions for the resulting backup.tar file (default: 0600)keep_time: 604800 # default: 0 (forever) (in seconds)pg_schema: # default: nil, it means that all schemas will be backed upupload:# Fog storage connection settings, see http://fog.io/storage/ .connection:# The remote 'directory' to store your backups. For S3, this would be the bucket name.remote_directory:multipart_chunk_size:encryption:storage_class:
Backup을 하게되면 Backup 파일은 "/var/opt/gitlab/backups"에 쌓이게 된다.
Backup 실행은 아래 명령으로 할수 있다.
1$ sudo gitlab-rake gitlab:backup:create
이제 Backup 경로에 가서 Backup 파일을 확인할 수 있다.
권한을 root로 변경하려면 sudo su 명령으로 가능하다.
12$ sudo su$ cd /var/opt/gitlab/backups/
Backup 파일명은 <timestamp>_<백업날짜>_<버전>_gitlab_backup.tar로 된다.
내 경우 1504512523_2017_09_04_9.5.2_gitlab_backup.tar로 되어 있다.
이걸 주기적으로 Backup이 진행되도록 cron에 등록한다.
12$ sudo su$ crontab -e
매일 새벽 2시에 Backup이 수행되도록 하려면 아래와 같이 추가한다.
10 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
몇일 뒤 백업이 잘 되는지 확인해 봤다.
Backup된 파일로 복원을 하려면 동일한 버전의 GitLab이 설치되어 있어야 한다.
그리고 gitlab.yml 파일을 확인해 backup 경로가 "/var/opt/gitlab/backups"로 동일한지 확인한다.
복원하려는 Backup 파일을 backup 경로에 복사한다.
1$ sudo cp 1504512523_2017_09_04_9.5.2_gitlab_backup.tar /var/opt/gitlab/backups/
GitLab 프로세스들을 정지시키고 상태를 확인한다.
123$ sudo gitlab-ctl stop unicorn$ sudo gitlab-ctl stop sidekiq$ sudo gitlab-ctl status
GitLab이 정지되어 있다면 아래 명령으로 복원한다.
1$ sudo gitlab-rake gitlab:backup:restore BACKUP=1504512523_2017_09_04_9.5.2
GitLab을 시작하고 확인한다.
12$ sudo gitlab-ctl start$ sudo gitlab-rake gitlab:check SANITIZE=true
브라우저를 열고 GitLab에 접속해 복원된 것을 확인한다.
'Tools > Git & GitLab' 카테고리의 다른 글
git 기본 명령 (0) | 2018.06.11 |
---|---|
ssh key 생성하고 적용하기 (1) | 2017.12.26 |
Gitlab 프로젝트 만들고 사용해 보기 (0) | 2017.11.09 |
[GitLab] 도메인 변경 (0) | 2017.09.04 |
[GitLab] Ubuntu에 GitLab 설치 (0) | 2017.08.30 |