GItのバックアップとリカバリ


1、GItlabバックアップ
Gitlabのデフォルトのバックアップパスはプロファイルで指定されているので、プロファイルで表示できます.
vim/etc/gitlab/gitlab.rb
# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
# , 

次のように構成を変更し、アクティブにする必要があります.
gitlab_rails['backup_keep_time'] = 604800 # ,7 
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

バックアップディレクトリと承認の作成
 mkdir -p /var/opt/gitlab/backups
 chown -R git.git /var/opt/gitlab/backups

構成を再ロードし、構成を有効にします.
gitlab-cli reconfigure
gitlab-cli restart

バックアップ:
gitlabのバックアップは非常に簡単で、コマンドです.
 /usr/bin/gitlab-rake gitlab:backup:create

上記のバックアップコマンドを実行すると、バックアップディレクトリの下にこのようなファイル149478002が生成されます.gitlab_backup.tar
この圧縮パッケージはGitlab全体の完全な部分で、最初の149478002はバックアップ作成日で、dateコマンドでこのuninxタイムスタンプを表示できます.
[root@linux-node1 app1]# ll /var/opt/gitlab/backups/
total 112
-rw------- 1 git git 112640 May 15 00:40 1494780002_gitlab_backup.tar
[root@linux-node1 app1]# date -d @1494780002
Mon May 15 00:40:02 CST 2017

バックアップが必要なファイルは次のとおりです.
/etc/gitlab/gitlab.rb   
/var/opt/gitlab/nginx/conf nginx  
/etc/postfix/main.cfpostfix  

システムの自動バックアップ、タイミングタスクの設定
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

推奨、ローカルで7日間、オフサイトで永続的に保存
2、GItlab回復
リカバリプロセス:
1、データ書き込みタスクの停止
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

2、データの回復
gitlab-rake gitlab:backup:restore BACKUP=1494780002

3、サービスを開始する
gitlab-ctl restart
 

3、バックアップコードのみ
バックアップコードのみがこのディレクトリの下で対応する項目のコードをバックアップできる場合、ユーザーの関係はバックアップできません.
[root@linux-node1 app1]# cd /var/opt/gitlab/
[root@linux-node1 gitlab]# ls
backups       gitlab-ci     gitlab-workhorse  postgresql
bootstrapped  gitlab-rails  logrotate         redis
git-data      gitlab-shell  nginx             trusted-certs-directory-hash
[root@linux-node1 gitlab]# cd git-data/
[root@linux-node1 git-data]# ls
repositories
[root@linux-node1 git-data]# cd repositories/
[root@linux-node1 repositories]# ll
total 0
drwxrwx--- 2 git git  6 May  7 14:09 dev1
drwxrwx--- 2 git git  6 May  7 15:12 dev2
drwxrwx--- 4 git git 41 May 14 21:19 Group1
drwxrwx--- 2 git git  6 May 14 21:12 GYH
drwxrwx--- 2 git git  6 May  7 15:12 pm
drwxrwx--- 2 git git  6 May  7 14:05 proje1
drwxrwx--- 4 git git 43 May  7 14:03 root
drwxrwx--- 2 git git  6 May 14 21:11 YH01
drwxrwx--- 2 git git  6 May 14 21:11 YH02
[root@linux-node1 repositories]#