shell脚本:检测某个文件更新后,执行的相应的操作

对于nginx测试来说,每次在更新nginx.conf 文件的时候总是需要重启nginx 服务器才能生效,由为不便,所以就写了一个简单的脚本来实现更新文件

时,nginx 自动更新,同时也可以用在别的场景中,理论上可以可以使用到git-server仓库更新后,执行 git用户 git pull origin master 类似操作

 1 #!/bin/bash
 2 # $1 需要监测的文件
 3 # $2 存放文件md5值,用于判断文件是否更改
 4 # $3 可选文件更新后,需要执行的命令(用'service nginx restart' 用单引号包起来)
 5 # 适用场景,修改某配置文件或更新某文件以后自动处理某些事物
 6  if [ ! $1 ] || [ ! $2 ] || [ ! -e $1 ] ; then
 7     echo "\$1 or \$2 is file"
 8     exit
 9  fi
10  # 生成md5验证文件
11  function creatMd5file()
12  {
13     md5sum -b $1 > $2
14  }
15  
16  # 判断文件是否存在
17  if [ ! -e $2 ] ; then
18     creatMd5file $1 $2
19  fi
20  
21  while(true) ; do
22     # 检测文件是否修改,$?返回1 表示修改, 0表示未修改
23     md5sum -c $2 --status
24     
25     if [ $? -gt 0 ] ; then
26         if [ "$3" ]; then
27             $3
28         fi
29     
30     creatMd5file $1 $2
31     
32     fi
33     # 每过3秒检测一次
34     sleep 3
35  done

 

转载于:https://www.cnblogs.com/zloven/p/6646404.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值