일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- postgres
- centos
- Materials
- 28015
- GoCD
- ubuntu
- ssh
- perfect
- openpyxl
- create table
- mysql
- sshpass
- nohup
- postgresql
- appium server
- kitura
- rethinkdb
- STF_PortForwarding
- 실행권한
- Jupyter Notebook
- Jupyter
- nmap
- insert
- appium
- ftp
- port forwarding
- nGrinder
- SWIFT
- PYTHON
- STF
- Today
- Total
don't stop believing
[GitLab] Backup & Restore 본문
데이터가 쌓이는 곳이니 backup과 restore도 확인해 보면 좋겠다.
우선 Backup 설정을 해보자.
Backup 설정은 gitlab.yml파일에 있다. vim 으로 gitlab.yml 파일을 열어서 Backup settings 부분을 확인하다.
$ sudo vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
vi 또는 vim으로 열었다면 :/backup 으로 파일 내용을 검색할 수 있다.
Backup setting 부분을 찾았다면 Backup 경로를 확인한다. 그리고 Backup 이후 오래된 버전을 자동으로 지우려면 keep_time 부분을 설정하면 된다. 설정은 초 단위이며 604800초면 7일이 된다.
Backup 이후 일주일 이전의 Backup 파일은 삭제하게 된다.
## Backup settings backup: 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 up upload: # 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 실행은 아래 명령으로 할수 있다.
$ sudo gitlab-rake gitlab:backup:create
이제 Backup 경로에 가서 Backup 파일을 확인할 수 있다.
권한을 root로 변경하려면 sudo su 명령으로 가능하다.
$ sudo su $ cd /var/opt/gitlab/backups/
Backup 파일명은 <timestamp>_<백업날짜>_<버전>_gitlab_backup.tar로 된다.
내 경우 1504512523_2017_09_04_9.5.2_gitlab_backup.tar로 되어 있다.
이걸 주기적으로 Backup이 진행되도록 cron에 등록한다.
$ sudo su $ crontab -e
매일 새벽 2시에 Backup이 수행되도록 하려면 아래와 같이 추가한다.
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
몇일 뒤 백업이 잘 되는지 확인해 봤다.
Backup된 파일로 복원을 하려면 동일한 버전의 GitLab이 설치되어 있어야 한다.
그리고 gitlab.yml 파일을 확인해 backup 경로가 "/var/opt/gitlab/backups"로 동일한지 확인한다.
복원하려는 Backup 파일을 backup 경로에 복사한다.
$ sudo cp 1504512523_2017_09_04_9.5.2_gitlab_backup.tar /var/opt/gitlab/backups/
GitLab 프로세스들을 정지시키고 상태를 확인한다.
$ sudo gitlab-ctl stop unicorn $ sudo gitlab-ctl stop sidekiq $ sudo gitlab-ctl status
GitLab이 정지되어 있다면 아래 명령으로 복원한다.
$ sudo gitlab-rake gitlab:backup:restore BACKUP=1504512523_2017_09_04_9.5.2
GitLab을 시작하고 확인한다.
$ 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 |