GitLabのデータのバックアップは、メインデータと設定ファイルの2つをバックアップする必要があります。
メインデータ
- 公式ドキュメント
- デフォルトのバックアップ先ディレクトリ: /var/opt/gitlab/backups
- /etc/gitlab/gitlab.rb内のgitlab_rails['backup_path']で変更可能
- 下記のようなバックアップファイルが生成される。ファイル名は、{epoch表記時間}_{年}_{月}_{日}_{バージョン}_gitlab_backup.tar
-rw-------. 1 git git 33246 Dec 12 13:59 1639317570_2021_12_12_13.7.5_gitlab_backup.tar
設定ファイル
- 公式ドキュメント
- バックアップ先ディレクトリ: /etc/gitlab/config_backup
- 主なバックアップ対象ファイル
- /etc/gitlab/-secrets.json
- /etc/gitlab/gitlab.rb
- バックアップ例
-rw-------. 1 root root 267000 Dec 12 13:59 gitlab_config_1639317570_2021_12_12.tar
- GitLab1の公式サイトにも記載があるが、メインデータのバックアップと一緒に設定ファイルがバックアップされない理由は、設定ファイルに暗号化キーなどの機密情報が含まれているため。セキュリティ上は、バックアップも別々に保存することが好ましい。
バックアップの設定方法
バックアップ用の処理をbashにまとめてみました。
#!/bin/bash # backup gitlab main data: /var/opt/gitlab/backups gitlab-backup create STRATEGY-copy # backup gitlab config files: / etc/gitlab/config_backup giotla-ctl backup-etc # remove backup files older than 10 days find /var/opt/gitlab/backups -mindepth 1 -maxdepth 1 -mtime +10 -name "*gitlab_backup.tar" -exec rm -rf {} + find /etc/gitlab/config_backup -mindepth 1 -maxdepth 1 -mtime +10 -name "gitlab_config*.tar" -exec rm -rf {}+
コメント