git服务器维护 备份,gitlab服务运维,备份与恢复 - 橙子柠檬's Blog

gitlab服务运维工作

Gitlab-ctl 使用gitlab-ctl start          #启动服务

gitlab-ctl stop           #停止服务

gitlab-ctl restart        #重启服务

检查服务的日志信息gitlab-ctl tail redis                    #检查redis的日志

gitlab-ctl tail postgresql                #检查postgresql的日志

gitlab-ctl tail gitlab-workhorse        #检查gitlab-workhorse的日志

gitlab-ctl tail logrotate                #检查logrotate的日

gitlab-ctl tail nginx                    #检查nginx的日志

gitlab-ctl tail sidekiq                    #检查sidekiq的日志

gitlab-ctl tail unicorn                    #检查unicorn的日志

gitlab-ctl status                        #检查服务状态

常见的问题如何检查和定位问题?

使用命令检查所有服务的状态sudo gitlab-ctl status

检查服务状态如下run: gitlab-workhorse: (pid 4752) 10862s; run: log: (pid 1077) 13288s

run: logrotate: (pid 16553) 59s; run: log: (pid 1079) 13288s

run: nginx: (pid 4764) 10861s; run: log: (pid 1076) 13288s

down: postgresql: (pid 4770) 10860s; run: log: (pid 1073) 13288s

run: redis: (pid 4778) 10860s; run: log: (pid 1072) 13288s

run: sidekiq: (pid 4782) 10859s; run: log: (pid 1075) 13288s

run: unicorn: (pid 4786) 10859s; run: log: (pid 1074) 13288s

定位问题

从服务状态信息中显示数据库postgresql的状态是down,即服务停止。

检查数据库postgresql的运行日志,检查出现什么错误?$ sudo gitlab-ctl tail postgresql

==> /var/log/gitlab/postgresql/state <==

==> /var/log/gitlab/postgresql/current <==

2017-12-21_02:49:51.42192 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42194 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42194 LOG: autovacuum launcher shutting down

2017-12-21_02:49:51.42287 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42289 FATAL: terminating connection due to administrator command

2017-12-21_02:49:51.42463 LOG: shutting down

2017-12-21_02:49:51.59345 LOG: database system is shut down

2017-12-21_02:50:43.38811 LOG: database system was shut down at 2017-12-21 02:49:51 GMT

2017-12-21_02:50:43.41991 LOG: database system is ready to accept connections

2017-12-21_02:50:43.42055 LOG: autovacuum launcher started

日志显示,数据库的访问权限应该是只有用户本身有读写执行的权限,用户组和其他用户不能有权限。

修改数据库数据的权限后,检查服务运行正常。

了解了问题的定位和解决方式,其他问题也很容易在日志中发现和解决,问题可能是磁盘空间少,用户权限错误或者其他原因。

gitlab管理员密码忘记,怎么重置密码,修改root用户密码

使用rails工具打开终端sudo gitlab-rails console production

查询用户的email,用户名,密码等信息,id:1 表示root账号user = User.where(id: 1).first

重新设置密码user.password = ‘新密码‘

user.password_confirmation = ‘新密码‘

保存密码user.save!

完整的操作ruby脚本user = User.where(id: 1).first

user.password = ‘新密码‘

user.password_confirmation = ‘新密码‘

user.save!

然后使用重置过的密码重新登录。

git 客户端下载地址:https://git-scm.com/download/win

Linux有关的可以直接yum 安装或者apt-get 安装Centos: yum install git

Ubuntu: apt-get install git

Gitlab 备份

使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个

压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.

Gitlab 修改备份文件默认目录vim /etc/gitlab/gitlab.rb

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.

Gitlab 自动备份

定时任务,实现每天凌晨1点进行一次自动备份:0 1 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

Gitlab 恢复

同样, Gitlab的从备份恢复也非常简单:#先停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

# 从1393513186编号备份中恢复

gitlab-rake gitlab:backup:restore BACKUP=1393513186

# 启动Gitlab

sudo gitlab-ctl start

Gitlab迁移

迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups 即可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.

参考文档:9b3f1f9d309c0ae54cf617076dee0ca0.png赞0

c788d2554644b6a03084e98b2926d709.png

380c82d9930cb6b75d8471e9cb2da8a3.png踩0

版权声明:若无特殊注明,本文为《橙子柠檬》原创,转载请保留文章出处。

本文链接:https://qinzc.me/post-211.html

正文到此结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值