jstack 脚本 自动日志_GitLab从安装到全自动化备份一条龙
原文地址[1]歡迎star
需求
1.在新服務器上安裝并搭建好gitlab2.手動+自動將舊服務器上的gitlab備份3.手動+自動將gitlab備份包scp到新服務器上4.手動+自動恢復新服務器上的gitlab備份包5.在新舊服務器上自動刪除過期備份包
前提
1.版本
?gitlab-ce是社區版?gitlab-ee是企業版
1.方案
?定時器執行shell腳本
1.工具
?crontab[2]?shell[3]?expect[4]
1.操作
?如果不是root用戶請在所有命令前+sudo?新老服務器gitlab版本保持一致?舊服務器用的是gitlab-ee_10.7.2-ee.0_amd64.deb版本的gitlab,示例也選擇這個企業版
1.backups目錄的只有root才能操作的,但是gitlab恢復操作使用者是git
所以將新舊服務器上/var/opt/gitlab/backups文件夾設置為可讀可寫可執行,方便操作
sudo chmod 777 backups/現在開始,我會一步一步操作,帶領大家一條龍從安裝到自動化備份,最終實現再也不要被gitlab備份困擾的問題且可以專心敲代碼的夢想
在新服務器上安裝并搭建好gitlab
1.安裝方式一:官網安裝(慢)2.安裝方式二:國內鏡像安裝(快)
官網安裝gitlab
請戳gitlab的官方網站[5]
由于的我系統是ubuntu,所以我選擇ubuntu 安裝步驟就出現在下面了
1.
安裝和配置必須的依賴
sudo apt-get updatesudo apt-get install -y curl openssh-server ca-certificates2.
安裝Postfix來發送通知郵件。如果你想要用另一個方式去發送郵件,請在gitlab安裝好后,下一步就是配置一個額外的SMTP服務。
sudo apt-get install -y postfix在安裝Postfix時一個配置屏幕會出現。選擇Internet Site并且回車。mail name為你的服務器的DNS并且回車。如果額外的屏幕出現,繼續接受默認配置并且回車。
3.
添加gitlab安裝包倉庫并安裝 添加gitlab包倉庫
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash4.
安裝gitlab包。選擇https://gitlab.example.com更改為要訪問gitlab實例的url。安裝將自動配置并啟動gitlab到url。
為了https://gitlab將自動請求帶有Let's Encrypt的證書,這需要入棧http訪問和有效的主機名。
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee此時你會發現慢的要死,速度是100k/s,畢竟兩者隔了一堵墻,那就換國內鏡像安裝吧
清華鏡像安裝gitlab
既然官網太慢,那么我們選擇清華鏡像安裝gitlab
清華大學開源軟件鏡像站[6]
Gitlab Community Edition 鏡像使用幫助[7]
里面有各種版本
備份需要和原服務器的gitlab版本一致,否則無法安裝
在搜索欄里搜索gitlab,就會跳出相關gitlab的版本
gitlab-ee_10.7.2-ee.0_amd64.deb版本在/ubuntu/pool/bionic/main/g/gitlab-ee/下
或者是直接訪問到gitlab-ee[8]版本下,
直接訪問到gitlab-ce[9]版本下。
1.
先更新倉庫
sudo apt-get update2.
加入gitlab的GPG公鑰
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null3.
寫進再選擇你的 Debian/Ubuntu 版本
文本框中內容寫進/etc/apt/sources.list.d/gitlab-ce.list,
我是寫進/etc/apt/sources.list.d/gitlab-ee.list,
寫deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/ubuntu xenial main
1.更新apt倉庫,安裝 gitlab-ee
sudo apt-get updatesudo apt-get install gitlab-ee=10.7.2-ee.0下載gitlab-ee_10.7.2-ee.0
這樣就安裝了10.7.2-ee.0版本了。
配置并啟動gitlab
sudo gitlab-ctl reconfigure每當修改了GitLab的配置之后,都要執行如下的命令,重啟配好的配置并重啟GitLab,然后查看GitLab的狀態
sudo gitlab-ctl reconfiguresudo gitlab-ctl restartsudo gitlab-ctl status打開瀏覽器,默認是訪問http://localhost即可。如果改了ip和端口,則訪問http://ip:端口既可
這就是新搭建的gitlab
安裝gitlab出現的問題
斷口被占用
端口80以及端口8080分別被Ubuntu服務器上的Apache、Tomcat和nginx等服務所占用。
我的做法是修改 /etc/gitlab/gitlab.rb 文件
vim /etc/gitlab/gitlab.rb修改其中的external_url
手動將舊服務器上的gitlab備份
修改gitlab備份地址
備份地址默認是在var/opt/gitlab/backups
1.打開原gitlab服務器終端,通過修改gitlab.rb配置文件來修改默認存放備份文件的目錄
sudo vim /etc/gitlab/gitlab.rb1.
默認如下
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"2.
將backup_path改為自定義的目錄
gitlab_rails['backup_path'] = "/data/gitlab/backups"1.修改后重啟配置文件
sudo gitlab-ctl reconfigure我的示例里是沒有改,備份的時間倒是改成了7天
/etc/gitlab/gitlab.rb
external_url 'http://192.168.3.2'unicorn['port'] = 10086gitlab_rails['manage_backup_path']=truegitlab_rails['backup_path']="var/opt/gitlab/backups"gitlab_rails['backup_archive_permissions']=0644gitlab_rails['backup_keep_time']=604800重啟配置出現的問題
出現這個radis的問題,不知道如何解決,有大佬知道,求告知,但是不影響備份
這個問題是由于,我執行了sudo chmod -R 777 gitlab的命令,將gitlab的子目錄下的所有文件都賦予了可讀可寫可執行的權限
解決方式
sudo chmod -R 2770 /var/opt/gitlab/git-data/repositoriesgitlab開始備份
通過命令來備份原服務器上gitlab的數據。
sudo gitlab-rake gitlab:backup:create備份的文件會放在var/opt/gitlab/backups下,名稱類似于1558509153_2019_05_22_10.7.2-ee_gitlab_backup.tar,這個壓縮包包含了gitlab備份的時間和版本。
可以看到backups下面的備份包
手動將gitlab備份包scp到新服務器上
通過scp命令
將新服務器上的backups權限升到777
sudo chmod 777 backups/不會請戳Linux scp命令[1]
scp 1559635752_2019_06_04_10.7.2-ee_gitlab_backup.tar gitlab-backup@192.168.3.113:/var/opt/gitlab/backups在新服務器中/var/opt/gitlab/backups下就出現了新的備份包
重啟發現所有備份包和腳本都清除的問題
之前由于backups權限問題,我將備份包發送到/tmp目錄下,
重啟電腦時,linux自動清除/tmp文件夾下的內容
原因是tmp是一個特殊的文件夾,系統會自動清理,所以大家最好不要把文件放到這個地方,被清理了就不好了。
手動恢復新服務器上的gitlab備份包
修改備份文件權限
如果沒有修改backups目錄的權限,會出現下面問題
貿然恢復,就會出現以下錯
正確操作是降低backups操作權限
sudo chown git backups/sudo chmod 700 backups/不要降低權限,不然文件夾進不去 操作是降低backups操作權限 為了避免gitlab恢復時,由于權限,而產生不能解壓的問題,我們就將備份文件權限改為777(可讀可寫)
chmod 777 1558509153_2019_05_22_10.7.2-ee_gitlab_backup.tar停止相關數據連接服務
sudo gitlab-ctl stop unicornsudo gitlab-ctl stop sidekiq從備份文件恢復gitlab
BACKUP等于gitlab版本號,_gitlab_backup.tar是會默認添加的
sudo gitlab-rake gitlab:backup:restore BACKUP=1558509153_2019_05_22_10.7.2-ee安裝開始,一共有兩個交互
1.是否丟掉之前的倉庫
1.是否丟掉之前的key文件
3 安裝成功
開啟gitlab,并訪問
sudo gitlab-ctl start打開瀏覽器,訪問gitlab
自動將舊服務器上的gitlab備份
舊服務器上的/var/opt/gitlab目錄
定時備份
添加定時任務,每天凌晨6點執行gitlab備份
# 仇飛鴻編輯于2019-5-30 添加定時任務,每天6點,自動執行將舊服務器上的gitlab備份操作0 6 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1編寫完 /etc/crontab 文件之后,需要重新啟動cron服務
#重新加載cron配置文件sudo /usr/sbin/service cron reload#重啟cron服務sudo /usr/sbin/service cron restart注意:6之前是0,而不是* 最后需要重新啟動cron服務
設置備份過期時間
就算是每天6點備份,一年下來也有356份,那也不得了了
那就可以設置備份過期時間,備份目錄下只保存還沒過期的壓縮包,大大減輕了服務器的壓力
通過編輯/etc/gitlab/gitlab.rb配置文件,找到gitlab_rails[‘backup_keep_time’]
sudo vim /etc/gitlab/gitlab.rb將gitlab_rails[‘backup_keep_time’]改為gitlab_rails[‘backup_keep_time’]=604800
我設置了7天內不過期
自動將gitlab備份包scp到新服務器上
新舊服務器配對密鑰
由于scp總是出現交互,提示輸入密碼
方案一:配對密碼,取消密碼
方案二:expect自動交互
這里我們采取方案一
生成密鑰對
在舊服務器上,輸入命令
ssh-keygen -t rsa1.生成的過程中提示輸入密鑰對保存位置,直接回車,接受默認值就行了。2.因為之前已經有/root/.ssh/id_rsa 文件存在,因此提示你是否覆蓋,輸入y表示覆蓋3.接著會提示輸入一個密碼,直接回車,讓它空著。當然,也可以輸入一個密碼。4.接著輸入確認密碼,輸入完之后,回車密鑰對就生成完了。
在/root/.ssh下生成id_rsa 和 id_rsa.pub 兩個文件, 其中公共密鑰保存在 /root/.ssh/id_rsa.pub,私有密鑰保存在/root/.ssh/id_rsa。
cd /home/gushenxing/.ssh/在舊服務器上cp生成rsa公鑰證書給新服務器
然后在/root/.ssh下復制備份一份id_rsa.pub 命名為 id_rsa.pub.A,以便拷貝到新服務器。
執行cp命令復制
cp id_rsa.pub id_rsa.pub.A執行scp命令傳輸
scp id_rsa.pub.A gitlab-backup@192.168.3.113:/home/gitlab-backup/.ssh進入新服務器查看公鑰
這里使用scp命令需要輸入密碼,當我們把下面的第三步執行完畢之后,以后舊服務器使用scp命令復制文件到新服務器的話,就不需要再次輸入密碼。
密鑰配對
創建authorized_keys文件
當第二步將舊服務器上的id_rsa.pub.A 文件copy到新服務器的目錄/root/.ssh
我們在新服務器的/root/.ssh下創建authorized_keys文件,使用如下命令
touch authorized_keys將id_rsa.pub.A文件內容追加到authorized_keys 文件中
cat id_rsa.pub.A >> authorized_keys打開authorized_keys查看
修改authorized_keys文件的權限
修改authorized_keys文件的權限
authorized_keys文件的權限很重要,如果設置為777,那么登錄的時候,還是需要提供密碼的。
這個權限足夠,越低越好
-rw-rw-r-- 1 gitlab-backup gitlab-backup 403 7月 19 10:53 authorized_keys或者是這個權限
測試
在舊服務器上使用scp命令復制文件到新服務器上是否還需要密碼
scp 1559635752_2019_06_04_10.7.2-ee_gitlab_backup.tar gitlab-backup@192.168.3.113:/var/opt/gitlab/backups在新服務器上,再次使用剛才的命令,發現已經可以不需要輸入密
創建Shell定時遠程備份腳本
在舊服務器上創建定時遠程備份腳本
創建自動scp的腳本和日志目錄
cd /var/opt/gitlabtouch auto_scp.shcd /backupssudo mkdir log因為到時候,我們會將該定時遠程備份腳本auto_scp.sh執行的時間,放到Gitlab自動備份腳本auto_scp.sh之后的一小時之內,因此我們只需要每次執行遠程備份腳本auto_scp.sh的時候,只需要cp一個小時之內的生成的新的Gitlab備份文件。
auto_scp.sh
#!/bin/bash# 新舊服務器 gitlab備份文件存放路徑 BACKUPDIR=/var/opt/gitlab/backups# 遠程備份服務器 登錄賬戶 RemoteUser=gitlab-backup# 遠程備份服務器 IP地址 RemoteIP=192.168.3.113#當前系統日期 DATE=`date "+%Y-%m-%d-%H-%M-%S"`#Log存放路徑LogFile=$BACKUPDIR/log/$DATE.log#查找本地備份目錄下時間為1天之內并且后綴為.tar的gitlab備份文件BACKUPFILE_SEND_TO_REMOTE=$(find $BACKUPDIR -type f -mmin -1440 -name '*.tar')#新建日志文件touch $LogFile#追加日志到日志文件echo "---------------------------------開始-----------------------------------" >> $LogFileecho "gitlab auto backup to remote server, start at $DATE" >> $LogFileecho "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,打印出每次scp的文件名echo "the file to scp to remote server is $BACKUPFILE_SEND_TO_REMOTE" >> $LogFile#備份到遠程服務器scp $BACKUPFILE_SEND_TO_REMOTE $RemoteUser@$RemoteIP:$BACKUPDIRecho "---------------------------------分割線---------------------------------" >> $LogFileecho "remote server is $RemoteUser@$RemoteIP:$BACKUPDIR" >> $LogFile#追加日志到日志文件echo "---------------------------------結束-----------------------------------" >> $LogFile~測試
由于auto_scp.sh執行權限是root,所以還得要交互密
降低auto_scp.sh和log的權限
sudo chown gushenxing:gushenxing auto_scp.sh sudo chown gushenxing:gushenxing log1.
執行命令,不要sudo執行
bash auto_scp.sh此時不需要密碼
2.
查看日志文件
3.
發現新服務器上已經出現了備份
往crontab添加定時任務,自動執行scp腳本
sudo vim /etc/crontab添加下面命令
# 仇飛鴻編輯于2019-6-04 添加定時任務,每天7點,自動執行將gitlab備份包scp到新服務器上的操作0 7 * * * gushenxing bash /var/opt/gitlab/auto_scp.sh編寫完 /etc/crontab 文件之后,需要重新啟動cron服務
#重新加載cron配置文件sudo /usr/sbin/service cron reload#重啟cron服務sudo /usr/sbin/service cron restart舊服務器上的操作已結束,完成了自動將舊服務器上的gitlab備份和自動將gitlab備份包scp到新服務器上
自動恢復新服務器上的gitlab備份包
自動刪除過期備份包腳本
cd /var/opt/gitlabsudo touch auto_remove_backup.sh填寫腳本代碼
#!/bin/bash#遠程備份服務器gitlab備份文件存放路徑GITLABDIR=/var/opt/gitlab/backups# 查找遠程備份路徑下,超過7天且文件后綴為.tar的gitlab備份文件,然后刪除find $GITLABDIR -type f -mtime +7 -name '*.tar' -exec rm {} \;往crontab添加定時任務,自動執行刪除備份包腳本
sudo vim /etc/crontab添加下面命令
# 仇飛鴻編輯于2019-5-30 添加定時任務,每天上午8點,自動執行刪除過期的gitlab備份文件操作0 8 * * * root bash /var/opt/gitlab/auto_remove_backup.sh編寫完 /etc/crontab 文件之后,需要重新啟動cron服務
#重新加載cron配置文件sudo /usr/sbin/service cron reload#重啟cron服務sudo /usr/sbin/service cron restart自動恢復腳本
cd /var/opt/gitlabsudo touch auto_recovery_backup.sh#!/bin/bash#備份文件所在目錄REMOTEDIRBACKUPS=/var/opt/gitlab/backups#找到當日生成的備份文件BACKUPFILE=$(sudo find ./ -mtime -1 -name '*.tar')#當前系統日期 DATE=`date "+%Y-%m-%d-%H-%M-%S"`#Log存放路徑LogFile=$REMOTEDIRBACKUPS/log/$DATE.log#新建日志文件sudo touch $LogFile#追加日志到日志目錄echo "---------------------------------開始-----------------------------------" >> $LogFileecho "gitlab auto recovery, start at $DATE" >> $LogFileecho "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,打印出當日生成的備份文件echo "backup files generated on that day is $BACKUPFILE" >> $LogFile#截取出主要文件名FILE=$(echo ${BACKUPFILE#*backups/})#截取恢復文件名RESTOREFILE=$(echo ${FILE%_gitlab*})echo "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,打印出備份文件復制目標目錄echo "backup files generated scp to $REMOTEDIRBACKUPS" >> $LogFile#進入到目標目錄cd $REMOTEDIRBACKUPS#備份文件權限修改為可讀可寫可執行chmod 777 $FILE#停止相關數據連接服務sudo gitlab-ctl stop unicornsudo gitlab-ctl stop sidekiq#自動化交互,從備份文件恢復gitlabsudo /usr/bin/expect -c " set timeout -1spawn sudo gitlab-rake gitlab:backup:restore BACKUP=$RESTOREFILEexpect {\"yes/no\" {set timeout -1; send \"yes\n\";exp_continue;}\"yes/no\" {set timeout -1; send \"yes\n\"}}expect eof"#開啟gitlabsudo gitlab-ctl startecho "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,從備份文件恢復gitlabecho "recovery was successful" >> $LogFile#追加日志到日志目錄echo "---------------------------------結束-----------------------------------" >> $LogFile其中加入自動交互expect
測試
執行結果
往crontab添加定時任務,自動執行恢復備份包腳本
sudo vim /etc/crontab在crontab中加入此定時任務
# 仇飛鴻編輯于2019-6-3 添加定時任務,每天上午9點,自動執行從備份包中恢復gitlab操作0 9 * * * root bash /var/opt/gitlab/auto_recovery_backup.sh編寫完 /etc/crontab 文件之后,需要重新啟動cron服務
#重新加載cron配置文件sudo /usr/sbin/service cron reload#重啟cron服務sudo /usr/sbin/service cron restart完整版腳本
舊服務器上的crontab腳本
# /etc/crontab: system-wide crontab# Unlike any other crontab you don't have to run the `crontab'# command to install the new version when you edit this file# and files in /etc/cron.d. These files also have username fields,# that none of the other crontabs do.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin# m h dom mon dow user command17 * * * * root cd / && run-parts --report /etc/cron.hourly25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )# 仇飛鴻編輯于2019-5-30 添加定時任務,每天6點,自動執行將舊服務器上的gitlab備份>操作0 6 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1# 仇飛鴻編輯于2019-6-04 添加定時任務,每天7點,自動執行將gitlab備份包scp到新服務器上的操作0 7 * * * gushenxing bash /var/opt/gitlab/auto_scp.sh#新服務器上的crontab腳本
# /etc/crontab: system-wide crontab# Unlike any other crontab you don't have to run the `crontab'# command to install the new version when you edit this file# and files in /etc/cron.d. These files also have username fields,# that none of the other crontabs do.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin# m h dom mon dow user command17 * * * * root cd / && run-parts --report /etc/cron.hourly25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )# 仇飛鴻編輯于2019-5-30 添加定時任務,每天上午8點,自動執行刪除過期的gitlab備份文件操作0 8 * * * root bash /var/opt/gitlab/auto_remove_backup.sh# 仇飛鴻編輯于2019-6-3 添加定時任務,每天上午9點,自動執行從備份包中恢復gitlab操>作0 9 * * * root bash /var/opt/gitlab/auto_recovery_backup.sh# 仇飛鴻編輯于2019-6-12 添加定時任務,每天上午10點,自動刪除var/opt/gitlab/backups/tmp0 10 * * * root rm -rf /var/opt/gitlab/backups/tmp自動將gitlab備份包scp到新服務器腳本auto_scp.sh
#!/bin/bash# 新舊服務器 gitlab備份文件存放路徑 BACKUPDIR=/var/opt/gitlab/backups# 遠程備份服務器 登錄賬戶 RemoteUser=gitlab-backup# 遠程備份服務器 IP地址 RemoteIP=192.168.3.113#當前系統日期 DATE=`date "+%Y-%m-%d-%H-%M-%S"`#Log存放路徑LogFile=$BACKUPDIR/log/$DATE.log#查找本地備份目錄下時間為1天之內并且后綴為.tar的gitlab備份文件BACKUPFILE_SEND_TO_REMOTE=$(find $BACKUPDIR -type f -mmin -1440 -name '*.tar')#新建日志文件touch $LogFile#追加日志到日志文件echo "---------------------------------開始-----------------------------------" >> $LogFileecho "gitlab auto backup to remote server, start at $DATE" >> $LogFileecho "---------------------------------分割線---------------------------------" >> $LogFileecho "remote server is $RemoteUser@$RemoteIP:$BACKUPDIR" >> $LogFile#追加日志到日志文件echo "---------------------------------結束-----------------------------------" >> $LogFile自動執行刪除過期的gitlab備份文件腳本auto_remove_backup.sh
#!/bin/bash#遠程備份服務器gitlab備份文件存放路徑GITLABDIR=/var/opt/gitlab/backups# 查找遠程備份路徑下,超過7天且文件后綴為.tar的gitlab備份文件,然后刪除find $GITLABDIR -type f -mtime +7 -name '*.tar' -exec rm {} \;自動執行從備份包中恢復gitlab腳本auto_recovery_backup.sh
#!/bin/bash#備份文件所在目錄REMOTEDIRBACKUPS=/var/opt/gitlab/backups#找到當日生成的備份文件BACKUPFILE=$(sudo find ./ -mtime -1 -name '*.tar')#當前系統日期 DATE=`date "+%Y-%m-%d-%H-%M-%S"`#Log存放路徑LogFile=$REMOTEDIRBACKUPS/log/$DATE.log#新建日志文件sudo touch $LogFile#追加日志到日志目錄echo "---------------------------------開始-----------------------------------" >> $LogFileecho "gitlab auto recovery, start at $DATE" >> $LogFileecho "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,打印出當日生成的備份文件echo "backup files generated on that day is $BACKUPFILE" >> $LogFile#截取出主要文件名FILE=$(echo ${BACKUPFILE#*backups/})#截取恢復文件名RESTOREFILE=$(echo ${FILE%_gitlab*})echo "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,打印出備份文件復制目標目錄echo "backup files generated scp to $REMOTEDIRBACKUPS" >> $LogFile#進入到目標目錄cd $REMOTEDIRBACKUPS#備份文件權限修改為可讀可寫可執行chmod 777 $FILE#停止相關數據連接服務sudo gitlab-ctl stop unicornsudo gitlab-ctl stop sidekiq#自動化交互,從備份文件恢復gitlabsudo /usr/bin/expect -c " set timeout -1spawn sudo gitlab-rake gitlab:backup:restore BACKUP=$RESTOREFILEexpect {\"yes/no\" {set timeout -1; send \"yes\n\";exp_continue;}\"yes/no\" {set timeout -1; send \"yes\n\"}}expect eof"#開啟gitlabsudo gitlab-ctl startecho "---------------------------------分割線---------------------------------" >> $LogFile#輸出日志,從備份文件恢復gitlabecho "recovery was successful" >> $LogFile#追加日志到日志目錄echo "---------------------------------結束-----------------------------------" >> $LogFile參考文獻
gitlab官網[2]
ubuntu16.04中gitlab安裝[3]
gitlab自動備份[4]
【git學習】在CenterOS系統上恢復GitLab時出現錯誤:tar: 由于前次錯誤,將以上次的錯誤狀態退出 unpacking backup failed[5]
如何查看 GitLab 版本號[6]
Linux上Gitlab卸載[7]
git學習------> Gitlab如何進行備份恢復與遷移?[8]
【git學習】在CenterOS系統上安裝GitLab并自定義域名訪問GitLab管理頁面[9]
linux權限補充:rwt rwT rws rwS 特殊權限[10]
References
[1]?Linux scp命令:?https://www.runoob.com/linux/linux-comm-scp.html[2]?gitlab官網:?https://about.gitlab.com/install/#ubuntu[3]?ubuntu16.04中gitlab安裝:?https://blog.csdn.net/weixin_38883338/article/details/82153402[4]?gitlab自動備份:?https://www.jianshu.com/p/a176789fef21[5]?【git學習】在CenterOS系統上恢復GitLab時出現錯誤:tar: 由于前次錯誤,將以上次的錯誤狀態退出 unpacking backup failed:?https://www.jianshu.com/p/8a287f31a646[6]?如何查看 GitLab 版本號:?https://blog.csdn.net/wo18237095579/article/details/81106150[7]?Linux上Gitlab卸載:?https://www.jianshu.com/p/e2e98c45c244[8]?git學習------> Gitlab如何進行備份恢復與遷移?:?https://blog.csdn.net/ouyang_peng/article/details/77070977[9]?【git學習】在CenterOS系統上安裝GitLab并自定義域名訪問GitLab管理頁面:?https://blog.csdn.net/ouyang_peng/article/details/72903221[10]?linux權限補充:rwt rwT rws rwS 特殊權限:?https://www.cnblogs.com/qlwy/archive/2011/06/26/2121919.html
總結
以上是生活随笔為你收集整理的jstack 脚本 自动日志_GitLab从安装到全自动化备份一条龙的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试 - 测试用例
- 下一篇: Python3 —— 逗号分隔值CSV