系列文章
git介绍-常用操作(一)✓
git实战-linux定时监控github更新状态(二)✓
本文主要内容
- 如何查看github的本地仓库和远程仓库的同步情况
- linux服务器定时监控github更新情况并自动发送邮件到qq邮箱
配置文件要求
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