1、gitlab备份与恢复
参考:
# 创建系统备份sudo gitlab-rake gitlab:backup:create# 备份文件存在/var/opt/gitlab/backups,可编辑/etc/gitlab/gitlab.rb修改# 源码安装使用下面命令备份sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production# docker安装使用下面命令备份docker exec -tgitlab-rake gitlab:backup:create# 将备份上传到远程存储(暂无)# 将备份文件存储到本地gitlab_rails['backup_upload_connection'] = { :provider => 'Local', :local_root => '/mnt/backups'}
The directory inside the mounted folder to copy backups to Use '.' to store them in the root directory
gitlab_rails['backup_upload_remote_directory'] = 'gitlab_backups'
备份档案权限
# In /etc/gitlab/gitlab.rb, for omnibus packagesgitlab_rails['backup_archive_permissions'] = 0644 # Makes the backup archives world-readable 备份配置文件 针对(Omnibus)备份:/etc/gitlab/gitlab.rb 、/etc/gitlab/gitlab-secrets.json,添加定时备份# 每天凌晨两点备份0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1# 保留备份30天,单位秒gitlab_rails['backup_keep_time'] = 2592000
2、Omnibus安装恢复
# 确认备份档案放到gitlab.rb定义的备份目录(默认/var/opt/gitlab/backups)sudo cp 1504793137_2017_09_07_9.5.3_gitlab_backup.tar /var/opt/gitlab/backups/# 停止连接数据库的进程sudo gitlab-ctl stop unicornsudo gitlab-ctl stop sidekiq# Verifysudo gitlab-ctl status# 恢复备份档案,指定时间戳sudo gitlab-rake gitlab:backup:restore BACKUP=1504793137_2017_09_07_9.5.3> Unpacking backup ... tar: 1504796591_2017_09_07_9.5.3_gitlab_backup.tar: Cannot open: Permission deniedchmod git:git 1504796591_2017_09_07_9.5.3_gitlab_backup.tar# 重启并检查恢复情况sudo gitlab-ctl restartsudo gitlab-rake gitlab:check SANITIZE=true