系列文章
git介紹-常用操作(一)?
git實(shí)戰(zhàn)-linux定時(shí)監(jiān)控github更新狀態(tài)(二)?
本文主要內(nèi)容
- 如何查看github的本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)的同步情況
- linux服務(wù)器定時(shí)監(jiān)控github更新情況并自動(dòng)發(fā)送郵件到qq郵箱
配置文件要求
centos:7.6.1810
mailx:12.5
sendmail:8.14.7
監(jiān)控你的github status
查看本地倉(cāng)庫(kù)同步情況
-
git status
查看結(jié)果即可踪央,其中結(jié)果有未緩存、未提交、已提交干凈的工作區(qū)啦
git_status測(cè)試結(jié)果
查看遠(yuǎn)程倉(cāng)庫(kù)同步情況
-
git remote show origin
可以查看遠(yuǎn)程倉(cāng)庫(kù)的同本地倉(cāng)庫(kù)的情況:包括可快進(jìn)岔绸、最新搏熄、過(guò)時(shí)惭载。
git_remote_status_part1
git_remote_status_part2
定時(shí)監(jiān)控遠(yuǎn)程倉(cāng)庫(kù)同步情況
- 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 "可快進(jìn)|已過(guò)時(shí)|FAST-FORWARDABLE|OUT-OF-DATE"
then
flag=0
break
fi
done
if (($flag == 0))
then
mail -s "warning!!!github有更新啦恋拷,相信請(qǐng)查看附件" -a $log_path $mail_address < $log_path
else
echo "github很干凈喲" | mail -s "github很干凈呀" $mail_address
fi
- 配置定時(shí)調(diào)度敢订,每小時(shí)運(yùn)行一次
0 * * * * sh /root/workfile/gitspace/github_status_check.sh >/dev/null 2>&1
github郵件監(jiān)控
配置發(fā)郵件步驟
- 安裝對(duì)應(yīng)插件
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郵箱授權(quán)碼
set smtp-auth=login
- 授權(quán)碼獲取方式
- 進(jìn)入qq郵箱→設(shè)置→賬戶→選擇開啟服務(wù):POP3/SMTP服務(wù)→會(huì)提示需要發(fā)送郵件到指定號(hào)碼即可
- 發(fā)郵件測(cè)試
echo 'This is test mail' | mail -s 'test' ***@foxmail.com
git_發(fā)送郵件到qq郵箱配置