系列文章
git介紹-常用操作(一)✓
git實戰-linux定時監控github更新狀態(二)✓
本文主要內容
- 如何檢視github的本地倉庫和遠端倉庫的同步情況
- linux伺服器定時監控github更新情況並自動傳送郵件
配置檔案要求
centos:7.6.1810
mailx:12.5
sendmail:8.14.7
監控你的github status
檢視本地倉庫同步情況
git status
檢視結果即可,其中結果有未快取、未提交、已提交乾淨的工作區啦
檢視遠端倉庫同步情況
git remote show origin
可以檢視遠端倉庫的同本地倉庫的情況:包括可快進、最新、過時。
定時監控遠端倉庫同步情況
- shell指令碼
#!/bin/sh
export LANG=en_US.UTF-8
source /etc/profile
paths=$PWD
dirs=("01_pics" "00_blogs")
log_path=$paths/git_log.txt
mail_address="***@foxmail.com"
echo "begin at: `date`" > $log_path
for i in ${dirs[*]};do
cur_path="$paths/$i"
cd $cur_path
echo $cur_path
echo -e "\n******* $i *************" >> $log_path
git status >> $log_path
echo "---- remote status ---------" >> $log_path
git remote show origin >> $log_path
#for i in `ls`
#do
# echo $i
#done
done
flag=1
for line in `cat $log_path`
do
if echo $line | egrep -i "可快進|已過時|FAST-FORWARDABLE|OUT-OF-DATE"
then
flag=0
break
fi
done
if (($flag == 0))
then
mail -s "warning!!!github有更新啦,相信請檢視附件" -a $log_path $mail_address < $log_path
else
echo "github很乾淨喲" | mail -s "github很乾淨呀" $mail_address
fi
- 配置定時排程,每小時執行一次
0 * * * * sh /root/workfile/gitspace/github_status_check.sh >/dev/null 2>&1
配置發郵件步驟
- 安裝對應外掛
yum install mailx
編輯配置檔案
vim /etc/mail.rc
set from=***@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=***@qq.com
set smtp-auth-password=qq郵箱授權碼
set smtp-auth=login
- 授權碼獲取方式
- 進入qq郵箱→設定→賬戶→選擇開啟服務:POP3/SMTP服務→會提示需要傳送郵件到指定號碼即可
- 發郵件測試
echo 'This is test mail' | mail -s 'test' ***@foxmail.com