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在進行備份.
參考文檔:贊0
踩0
版權聲明:若無特殊注明,本文為《橙子檸檬》原創,轉載請保留文章出處。
本文鏈接:https://qinzc.me/post-211.html
正文到此結束
總結
以上是生活随笔為你收集整理的git服务器维护 备份,gitlab服务运维,备份与恢复 - 橙子柠檬's Blog的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最后一部最让人期待!2017年7月即将热
- 下一篇: 微信社交小程序服务器,Day12-微信小