Gitlab数据备份及数据恢复重置gitlab管理密码方法
admin
2023-03-02 02:02:12
0

一、创建备份文件
首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份。

gitlab完全备份命令:

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1545200330_2018_12_19_11.3.13_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中中间部分的是备份创建的2018_12_19日期
/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件

Gitlab数据备份及数据恢复重置gitlab管理密码方法

执行完后,/var/opt/gitlab/backups目录创建一个名称类似为1545201028_2018_12_19_11.3.13_gitlab_backup.tar的压缩包
Gitlab数据备份及数据恢复重置gitlab管理密码方法

二、更改Gitlab备份目录
可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录,配置文件中229行为系统默认备份路径,我们只需要在下面添加一行,或者直接修改默认配置,去掉注释即可。

Gitlab数据备份及数据恢复重置gitlab管理密码方法
做完这步以后需要重新加载配置(相当于重启gitlab)命令如下:

gitlab-ctl reconfigure
之后我们可以再进行一次全量备份,可以看到备份的目录已经被我们更改了。

gitlab-rake gitlab:backup:create

Gitlab数据备份及数据恢复重置gitlab管理密码方法

三、 Gitlab自动备份
在crontab文件里面,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:

          • 命令
            m h dom mon dow command
            m: 表示分钟,可以是从0到59之间的任何整数。
            h:表示小时,可以是从0到23之间的任何整数。
            dom:表示日期,可以是从1到31之间的任何整数。
            mon:表示月份,可以是从1到12之间的任何整数。
            week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
            command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)。
            实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现,需重启cron服务

#输入命令crontab -e
crontab -e
#输入相应的任务
0 2 * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

Gitlab数据备份及数据恢复重置gitlab管理密码方法

编辑完保存退出,也可以直接编辑 vim /etc/crontab 这个文件,效果是一样的。 这时候需要重启一下crontab服务并且,设置为开机自启。

#重启定时任务服务
systemctl restart crond.service
#实现开机自启动
systemctl enable crond.service
四、 设置备份过期时间
设置只保存最近7天的备份,编辑 /etc/gitlab/gitlab.rb 配置文件,找到gitlab_rails[‘backup_keep_time’],设置为你想要设置的值,然后保存。这个地方的604800是以秒为单位。同样修改完以后重新载入配置。

Gitlab数据备份及数据恢复重置gitlab管理密码方法

五、从备份文件中恢复gitlab
第一步,将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
chmod 777 1545201028_2018_12_19_11.3.13_gitlab_backup.tar
第二步,执行命令停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

Gitlab数据备份及数据恢复重置gitlab管理密码方法

第三步,执行命令从备份文件中恢复Gitlab
Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复

#gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
#例如我们的备份文件的编号是1545202224_2018_12_19_11.3.13,因此执行下面的命令即可恢复
gitlab-rake gitlab:backup:restore BACKUP=1545202224_2018_12_19_11.3.13

敲完命令后,出现第一个交互页面,

Gitlab数据备份及数据恢复重置gitlab管理密码方法

输入“yes”继续。 这时已经开始恢复了。
出现第二个交互页面,继续输入“yes”

Gitlab数据备份及数据恢复重置gitlab管理密码方法

第四步,启动Gitlab
gitlab-ctl start

Gitlab数据备份及数据恢复重置gitlab管理密码方法

这时已经把数据恢复完成了,我们可以访问gitlab地址http://192.168.10.178/dashboard/projects

Gitlab数据备份及数据恢复重置gitlab管理密码方法

恢复已完成~

GitLab重置用户名密码

打开终端,访问:

gitlab-rails console production

输入:

user = User.where(id: 1).first
user.password=123456
user.password_confirmation = ‘123456’
user.save! #注意加上 “!”

然后退出命令行即可。

quit

相关内容

热门资讯

邮轮暴发汉坦病毒疫情,世卫确认... 据凤凰卫视报道,大西洋邮轮“洪迪厄斯”号暴发汉坦病毒疫情,世界卫生组识5月7日证实,船上共有5宗确诊...
内蒙古赤峰两村半个多世纪的土地... 澎湃新闻记者 王选辉争议土地大北叉沟。本文图均为 受访者 提供备受社会关注的“赤峰两村半个多世纪的土...
冥王星5月8日开启逆行 持续约... 被“逐出”太阳系大行星序列的冥王星5月8日将结束顺行,开启为期约5个月的逆行。这也是2026年冥王星...
夸大AI功能被起诉 苹果2.5... 当地时间5月5日,因夸大AI系统“苹果智能”(Apple Intelligence)的能力,误导数百...
学习机直播乱象调查:主播打北大... 极目新闻记者 刘闪 何佳仪打开短视频平台,各类学习机测评直播间随处可见。一些自诩自己是“老师”的主播...
即日起,郑州“错峰加油”有优惠... 进入5月,又到了郑州臭氧污染频发的季节,记者从郑州市生态环境局移动源污染监管处了解到,为减少臭氧污染...
汗水写热爱 篮球致青春 成人组1VS1比赛。河南日报全媒体记者 黄晖 摄“非常高兴能够参加这种全民赛事,也希望以后能够有更多...
荷兰六六民主党全国办公室遭爆炸... 荷兰警方7日说,荷兰执政党之一的六六民主党位于海牙的全国办公室当晚遭爆炸物袭击,造成建筑受损,无人受...
樱花树油烟机总是开不了怎么回事 电源问题。先检查电源是否未插上或是否电,若没有,将它重新插好,等待来电后测试,检查开不了机的问题是否...
燃气灶打火后一会就灭是什么原因 原因可能是电池没有电了,所以一开始能够打着火,但是燃烧了一会儿又熄灭了,这种情况下可以尝试更换一节新...