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

相关内容

热门资讯

20名“高考状元”选择学医!此... 2026年香港高考的24名“状元”中,有20人明确表示将留港攻读医科。多年来,香港最顶尖的“学霸们”...
“抢人大战”,风向有变? 各地一场“抢老人”的大战,已然徐徐拉开大幕。最近,有着人口净流出压力的吉林,计划拿出3亿元发展旅居康...
石家庄一家不限量的爱心素食面馆... 7月24日正午时分,记者来到位于石家庄市新华区东明家居西二环店北门旁的“素面”小店,不大的店面里坐满...
中材科技申请风电叶片外补强辅助... 国家知识产权局信息显示,中材科技(伊吾)风电叶片有限公司申请一项名为“风电叶片外补强辅助固化装置”的...
为人工智能治理提供重要公共产品 图为2026世界人工智能大会暨人工智能全球治理高级别会议举办期间,在世博展览馆灵心巧手展位,参观者观...
泽连斯基称俄对乌多地发动大规模... 当地时间25日,乌克兰总统泽连斯基通报称,俄军于当日凌晨对乌克兰多地发动大规模空袭,使用2枚导弹、近...
不怕没水!武汉科学家找到水稻身... 干旱来了,水稻启动"抗旱模式",可一启动就长不大、结得少——这是困扰育种界几十年的老难题。7月23日...
多款手机涨价超1000元,大存... 今年暑期消费旺季,国内智能手机市场迎来一轮显著的价格上调。第一财经记者走访深圳多家品牌门店发现,以v...
SpaceX上市后星舰首飞:首... 界面新闻实习记者 | 李响 在经历多次波折后,SpaceX公司的星舰(Starship)终于完成了...
博世洗衣机强制解锁 博世洗衣机强制解锁的方法可能因型号和具体情况而异。以下是一些常见的方法:1. 按住电源键:有些博世洗...