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

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

成都创新互联公司拥有10多年的建站服务经验,在此期间,我们发现较多的客户在挑选建站服务商前都非常的犹豫。主要问题集中:在无法预知自己的网站呈现的效果是什么样的?也无法判断选择的服务商设计出来的网页效果自己是否会满意?成都创新互联公司业务涵盖了互联网平台网站建设、移动平台网站制作、网络推广、按需定制网站等服务。成都创新互联公司网站开发公司本着不拘一格的网站视觉设计和网站开发技术相结合,为企业做网站提供成熟的网站设计方案。

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


分享文章:Gitlab数据备份及数据恢复重置gitlab管理密码方法
链接分享:http://pwwzsj.com/article/ggecij.html