Commit c6f8c9dbcca7c467334ad2af06eb3978f2ae0f7d
Exists in
master
and in
17 other branches
Merge branch 'backup_documentation' into 'master'
Backup Documentation
Showing
3 changed files
with
37 additions
and
2 deletions
Show diff stats
README.md
@@ -74,12 +74,46 @@ external_url "http://gitlab.example.com" | @@ -74,12 +74,46 @@ external_url "http://gitlab.example.com" | ||
74 | 74 | ||
75 | Run `sudo gitlab-ctl reconfigure` for the change to take effect. | 75 | Run `sudo gitlab-ctl reconfigure` for the change to take effect. |
76 | 76 | ||
77 | +### Creating an application backup | ||
78 | + | ||
79 | +To create a backup of your repositories and GitLab metadata, run the following command. | ||
80 | + | ||
81 | +```shell | ||
82 | +sudo gitlab-rake gitlab:backup:create | ||
83 | +``` | ||
84 | + | ||
85 | +This will store a tar file in `/var/opt/gitlab/backups`. The filename will look like | ||
86 | +`1393513186_gitlab_backup.tar`, where 1393513186 is a timestamp. | ||
87 | + | ||
88 | +### Restoring an application backup | ||
89 | + | ||
90 | +We will assume that you have installed GitLab from an omnibus package and run | ||
91 | +`sudo gitlab-ctl reconfigure` at least once. | ||
92 | + | ||
93 | +First make sure your backup tar file is in `/var/opt/gitlab/backups`. | ||
94 | + | ||
95 | +```shell | ||
96 | +sudo cp 1393513186_gitlab_backup.tar /var/opt/gitlab/backups/ | ||
97 | +``` | ||
98 | + | ||
99 | +Next, restore the backup by running the restore command. You need to specify the | ||
100 | +timestamp of the backup you are restoring. | ||
101 | + | ||
102 | +```shell | ||
103 | +# This command will overwrite the contents of your GitLab database! | ||
104 | +sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186 | ||
105 | +``` | ||
106 | + | ||
107 | +If there is a GitLab version mismatch between your backup tar file and the installed | ||
108 | +version of GitLab, the restore command will abort with an error. Install a package for | ||
109 | +the [required version](https://www.gitlab.com/downloads/archives/) and try again. | ||
110 | + | ||
77 | ### Invoking Rake tasks | 111 | ### Invoking Rake tasks |
78 | 112 | ||
79 | To invoke a GitLab Rake task, use `gitlab-rake`. For example: | 113 | To invoke a GitLab Rake task, use `gitlab-rake`. For example: |
80 | 114 | ||
81 | ```shell | 115 | ```shell |
82 | -sudo gitlab-rake gitlab:backup:create | 116 | +sudo gitlab-rake gitlab:check |
83 | ``` | 117 | ``` |
84 | 118 | ||
85 | Contrary to with a traditional GitLab installation, there is no need to change | 119 | Contrary to with a traditional GitLab installation, there is no need to change |
files/gitlab-cookbooks/gitlab/attributes/default.rb
@@ -87,7 +87,7 @@ default['gitlab']['gitlab-rails']['ldap_bind_dn'] = "_the_full_dn_of_the_user_yo | @@ -87,7 +87,7 @@ default['gitlab']['gitlab-rails']['ldap_bind_dn'] = "_the_full_dn_of_the_user_yo | ||
87 | default['gitlab']['gitlab-rails']['ldap_password'] = "_the_password_of_the_bind_user" | 87 | default['gitlab']['gitlab-rails']['ldap_password'] = "_the_password_of_the_bind_user" |
88 | default['gitlab']['gitlab-rails']['ldap_allow_username_or_email_login'] = true | 88 | default['gitlab']['gitlab-rails']['ldap_allow_username_or_email_login'] = true |
89 | default['gitlab']['gitlab-rails']['satellites_path'] = "/var/opt/gitlab/git-data/gitlab-satellites" | 89 | default['gitlab']['gitlab-rails']['satellites_path'] = "/var/opt/gitlab/git-data/gitlab-satellites" |
90 | -default['gitlab']['gitlab-rails']['backup_path'] = "tmp/backups" | 90 | +default['gitlab']['gitlab-rails']['backup_path'] = "/var/opt/gitlab/backups" |
91 | default['gitlab']['gitlab-rails']['gitlab_shell_path'] = "/opt/gitlab/embedded/service/gitlab-shell/" | 91 | default['gitlab']['gitlab-rails']['gitlab_shell_path'] = "/opt/gitlab/embedded/service/gitlab-shell/" |
92 | default['gitlab']['gitlab-rails']['gitlab_shell_repos_path'] = "/var/opt/gitlab/git-data/repositories" | 92 | default['gitlab']['gitlab-rails']['gitlab_shell_repos_path'] = "/var/opt/gitlab/git-data/repositories" |
93 | default['gitlab']['gitlab-rails']['gitlab_shell_hooks_path'] = "/opt/gitlab/embedded/service/gitlab-shell/hooks/" | 93 | default['gitlab']['gitlab-rails']['gitlab_shell_hooks_path'] = "/opt/gitlab/embedded/service/gitlab-shell/hooks/" |
files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
@@ -30,6 +30,7 @@ gitlab_rails_log_dir = node['gitlab']['gitlab-rails']['log_directory'] | @@ -30,6 +30,7 @@ gitlab_rails_log_dir = node['gitlab']['gitlab-rails']['log_directory'] | ||
30 | gitlab_rails_working_dir, | 30 | gitlab_rails_working_dir, |
31 | gitlab_rails_tmp_dir, | 31 | gitlab_rails_tmp_dir, |
32 | gitlab_rails_public_uploads_dir, | 32 | gitlab_rails_public_uploads_dir, |
33 | + node['gitlab']['gitlab-rails']['backup_path'], | ||
33 | gitlab_rails_log_dir | 34 | gitlab_rails_log_dir |
34 | ].each do |dir_name| | 35 | ].each do |dir_name| |
35 | directory dir_name do | 36 | directory dir_name do |