系列文章

git介绍-常用操作(一)
git实战-linux定时监控github更新状态(二)✓

本文主要内容

  • 如何查看github的本地仓库和远程仓库的同步情况
  • linux服务器定时监控github更新情况并自动发送邮件

配置文件要求

centos:7.6.1810
mailx:12.5
sendmail:8.14.7

监控你的github status

查看本地仓库同步情况

  • git status查看结果即可,其中结果有未缓存、未提交、已提交干净的工作区啦

git_status测试结果

查看远程仓库同步情况

  • git remote show origin可以查看远程仓库的同本地仓库的情况:包括可快进、最新、过时。

git_remote_status_part1

git_remote_status_part2

定时监控远程仓库同步情况

  1. 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
  1. 配置定时调度,每小时运行一次
    0 * * * * sh /root/workfile/gitspace/github_status_check.sh &gt;/dev/null 2&gt;&amp;1

github邮件监控

配置发邮件步骤

  1. 安装对应插件
yum install mailx
  1. 编辑配置文件

    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
  1. 授权码获取方式
  • 进入qq邮箱→设置→账户→选择开启服务:POP3/SMTP服务→会提示需要发送邮件到指定号码即可
  1. 发邮件测试
echo 'This is test mail' | mail -s 'test' ***@foxmail.com

git_发送邮件到qq邮箱配置

git实战-linux定时监控github更新状态(二)的更多相关文章

  1. 【Linux】监控系统的状态

    1.w命令 w命令是一个很强大的命令,该命令显示的信息比较丰富.以下是我的虚拟机w命令的一个展示 从上图我们可以看到: 第一行从左面开始显示的信息依次为:时间.系统运行时间.登陆用户数.平均负载 第二 ...

  2. linux 定时下载github最新代码

    场景:网站的代码在github上托管,静态网站部署在服务器上,每次自己修改完本地代码后,提交到github上,需要自己去服务器上执行git pull 拉取最新代码, 为了解决这种操作,自己再服务器上  ...

  3. linux 定时 svn 代码更新,配置文件不修改

    普通参数: 普通参数为正常的传参数:  例子:  f1("111") 指定参数: 指定参数为指定哪个参数给函数方法里面某个形式参数专用,优点:不受传参数的位置约束.   例子:  ...

  4. Linux性能监控分析命令(二)—sar命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  5. 在Linux系统中同步更新我们的Github博客

    原理介绍 类似于版本管理,我们把我们的hexo博客文件系统在Github上建立一个分支,通过管理分支提交最新的博客文件系统,保证我们博客框架的更新.然后我们基于最新的博客框架,撰写文章,进行Githu ...

  6. zabbix监控 linux/windows 主机tcp连接状态

    更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...

  7. [转帖]Linux下inotify监控文件夹状态,发生变化后触发rsync同步

    Linux下inotify监控文件夹状态,发生变化后触发rsync同步 https://www.cnblogs.com/fjping0606/p/6114123.html 1.安装工具--inotif ...

  8. 【学习总结】Git学习-本地仓库覆盖式更新对于Git仓库的影响以及pull/push到GitHub

    < 许久不用Git之后的探索 > 准备日常更新自己的GitHub了.但是编写的文件平时不放在Git仓库路径下. 故测试覆盖式更新对于仓库是否有影响 直接说结论: 通过对已有库的测试发现覆盖 ...

  9. 怎样用git上传代码到github以及如何更新代码

    上传代码: 1.进入指定文件夹: cd 指定文件夹 2.初始化git仓库: git init 3.将项目所有文件添加到暂存区: git add . 4.提交到仓库: git commit -m &qu ...

随机推荐

  1. RabbitMQ的生产者消息确认(Publisher Confirms and Returns)和消费者ACK

    https://www.cnblogs.com/wangzhongqiu/p/7815529.html https://blog.csdn.net/u012129558/article/details ...

  2. awk-01-选项和模式

    awk介绍 awk 是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件.数据排序.计算以及生产报表等等 语法 awk option ' pattern {action} ' file pa ...

  3. 【笔记】求数据的对应主成分PCA(第一主成分)

    求数据的第一主成分 (在notebook中) 将包加载好,再创建出一个虚拟的测试用例,生成的X有两个特征,特征一为0到100之间随机分布,共一百个样本,对于特征二,其和特征一有一个基本的线性关系(为什 ...

  4. VsCode安装使用教程和插件安装方法

    许多渗透方式都python写脚本,比较方便,写一下vscode和插件的安装办法,虽然不是很复杂,但是写一下做一下笔记: Visual Studio Code (简称 VS Code / VSC) 是一 ...

  5. input 限制 上传文件类型

    参考:input file控件限制上传文件类型 HTML <input> 标签的 accept 属性 网页上添加一个input file HTML控件: <input id=&quo ...

  6. net start mongodb 提示:发生系统错误 5,拒绝访问。

    问题: net start mongodb 提示:发生系统错误 5,拒绝访问. 无法启动mongodb 服务. 解决办法: 右键cmd,选择以管理员身份运行即可

  7. Quartz任务调度(4)JobListener分版本超详细解析

    JobListener 我们的jobListener实现类必须实现其以下方法: 方法 说明 getName() getName() 方法返回一个字符串用以说明 JobListener 的名称.对于注册 ...

  8. Linux命令全训练

    一.实验目的 为后续上机实验做准备,熟悉常用的Linux操作. 二.实验平台 操作系统:Ubuntu14.04 三.实验内容和要求 1.Linux系统中的常用快捷键 Tab 自动补全 上下箭头 显示历 ...

  9. Js/jquery常用

    id属性不能有空格 1. js判断checkebox是否被选中 var ischecked = document.getElementById("xxx").checked  // ...

  10. unitest单元测试TestCase 执行测试用例(一)

    前言 unittest单元测试框架不仅可以适用于单元测试,还可以适用自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. uni ...