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

相关内容

热门资讯

最新引进“上海明星麻将.是不是... 有 亲,根据资深记者爆料上海明星麻将是可以开挂的,确实有挂(咨询软件无需...
玩家最新攻略“阳光巴厘岛.有没... 家人们!今天小编来为大家解答阳光巴厘岛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
今日重大通报“大庆划水麻将.怎... 家人们!今天小编来为大家解答大庆划水麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
玩家攻略科普“欢乐龙城9.究竟... 您好:欢乐龙城9这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
终于明白“青松游戏.真的有挂吗... 您好:青松游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【第一资讯】“火神牛牛.怎么开... 有 亲,根据资深记者爆料火神牛牛是可以开挂的,确实有挂(咨询软件无需打开...
今日重大消息“大庆划水麻将.有... 网上科普关于“大庆划水麻将有没有挂”话题很是火热,小编也是针对大庆划水麻将作*弊开挂的方法以及开挂对...
今日重大通报“同城跑胡子.到底... 网上科普关于“同城跑胡子有没有挂”话题很是火热,小编也是针对同城跑胡子作*弊开挂的方法以及开挂对应的...
【第一消息】“灯塔麻将.辅助开... 家人们!今天小编来为大家解答灯塔麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
【第一消息】“沧海麻将.到底是... 网上科普关于“沧海麻将有没有挂”话题很是火热,小编也是针对沧海麻将作*弊开挂的方法以及开挂对应的知识...