gitlab数据备份及恢复
#准备10.0.0.150 centos8主机安装gitlab
官网:https://packages.gitlab.com/gitlab/gitlab-ce/
[root@gitlab ~]#wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-15.3.2-ce.0.el8.x86_64.rpm/download.rpm
#Requires:
/bin/sh
openssh-server
perl
policycoreutils-python-utils
[root@gitlab ~]#yum install -y openssh-server perl policycoreutils-python-utils
[root@gitlab ~]#rpm -ivh download.rpm
#修改配置文件
[root@gitlab ~]#grep "^[^#]" /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.150'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1538885062@qq.com"
gitlab_rails['smtp_password'] = "wwfvawpshfch"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '1538885062@qq.com'
user['git_user_email'] = "1538885062@qq.com"
#执行配置及启动服务,每此修改配置文件都需要执行此操作
[root@gitlab ~]#gitlab-ctl reconfigure
#验证邮箱
[root@gitlab ~]#gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
GitLab: 15.3.2 (e5a7085d434) FOSS
GitLab Shell: 14.10.0
PostgreSQL: 13.6
------------------------------------------------------------[ booted in 15.02s ]
Loading production environment (Rails 6.1.6.1)
irb(main):001:0> Notify.test_email('1538885062@qq.com','test','hello is gitlab').deliver_n
ow
Delivered mail 6311c5dc2b611_969246645377a@gitlab.tan.com.mail (1141.9ms)
=> #<Mail::Message:334240, Multipart: false, Headers: <Date: Fri, 02 Sep 2022 16:59:08 +0800>, <From: GitLab <1538885062@qq.com>>, <Reply-To: GitLab <noreply@10.0.0.150>>, <To: 1538885062@qq.com>, <Message-ID: <6311c5dc2b611_969246645377a@gitlab.tan.com.mail>>, <Subject: test>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
#邮箱查看,接受邮件成功。
#默认登录用户root,密码查看:
[root@gitlab ~]#cat /etc/gitlab/initial_root_password
#不使用prometheus建议关掉,消耗大量内存。
[root@gitlab ~]#free -m
total used free shared buff/cache available
Mem: 7933 4294 149 121 3489 3220
Swap: 2047 11 2036
[root@gitlab ~]#vim /etc/gitlab/gitlab.rb
prometheus['enable'] = false
[root@gitlab ~]#gitlab-ctl reconfigure
[root@gitlab ~]#free -m
total used free shared buff/cache available
Mem: 7933 2901 1590 98 3442 4635
Swap: 2047 11 2036
###gitlab数据备份与恢复
1.查看组件状态
[root@gitlab ~]#gitlab-ctl status
run: alertmanager: (pid 38169) 1307s; run: log: (pid 38022) 1331s
run: gitaly: (pid 38196) 1305s; run: log: (pid 37306) 1434s
run: gitlab-exporter: (pid 38145) 1309s; run: log: (pid 37818) 1351s
run: gitlab-kas: (pid 38113) 1311s; run: log: (pid 37575) 1422s
run: gitlab-workhorse: (pid 38124) 1311s; run: log: (pid 37720) 1368s
run: logrotate: (pid 37223) 1448s; run: log: (pid 37255) 1445s
run: nginx: (pid 37748) 1364s; run: log: (pid 37759) 1363s
run: node-exporter: (pid 38135) 1310s; run: log: (pid 37807) 1355s
run: postgres-exporter: (pid 38183) 1306s; run: log: (pid 38060) 1325s
run: postgresql: (pid 37436) 1429s; run: log: (pid 37536) 1427s
run: prometheus: (pid 38154) 1308s; run: log: (pid 37904) 1337s
run: puma: (pid 37653) 1382s; run: log: (pid 37660) 1381s
run: redis: (pid 37268) 1441s; run: log: (pid 37276) 1440s
run: redis-exporter: (pid 38147) 1309s; run: log: (pid 37835) 1345s
run: sidekiq: (pid 39364) 726s; run: log: (pid 37678) 1375s
2.备份
先创建一个project,如何执行备份操作
[root@gitlab ~]#/opt/gitlab/bin/gitlab-rake gitlab:backup:create
[root@gitlab ~]#ll /var/opt/gitlab/backups/1662111184_2022_09_02_15.3.2_gitlab_backup.tar -rw------- 1 git git 409600 Sep 2 17:33 /var/opt/gitlab/backups/1662111184_2022_09_02_15.3.2_gitlab_backup.tar
3.在创建一个project,执行恢复操作
[root@gitlab ~]#gitlab-ctl stop puma
[root@gitlab ~]#gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@gitlab ~]#gitlab-rake gitlab:backup:restore BACKUP=1662111184_2022_09_02_15.3.2
#输入两次yes
[root@gitlab ~]#gitlab-ctl restart
ok: run: alertmanager: (pid 44752) 0s
ok: run: gitaly: (pid 44763) 0s
ok: run: gitlab-exporter: (pid 44778) 0s
ok: run: gitlab-kas: (pid 44780) 1s
ok: run: gitlab-workhorse: (pid 44792) 0s
ok: run: logrotate: (pid 44804) 1s
ok: run: nginx: (pid 44810) 0s
ok: run: node-exporter: (pid 44823) 1s
ok: run: postgres-exporter: (pid 44830) 0s
ok: run: postgresql: (pid 44916) 0s
ok: run: prometheus: (pid 44925) 1s
ok: run: puma: (pid 44937) 0s
ok: run: redis: (pid 44942) 1s
ok: run: redis-exporter: (pid 44948) 0s
ok: run: sidekiq: (pid 44955) 1s
#登录web界面查看,备份后新建的project没有了,恢复成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具