提问者

发布26
回答153

相关问题

相关资料

svn文件 发表于 2021-03-08 阅读 224回复 2

GBase 8a检查2个包含svn文件新旧的脚本

本文提供了1个用于判断2个GBase 8a数据库版本哪个更新的脚本。如果新版本的svn数值比老的还小,则抛出警告信息。

脚本

输入2个包含svn信息的文件,其中第二个文件是最新的。如果新的svn比老的还小,则报警告。

[root@gbase_rh7_001 gcinstall]# cat checksvn.sh
#/bin/bash
file1=$1
file2=$2

if [ $# -ne 2 ]; then
  echo "\Please special two svn file, Second is newer. Otherwise print Waring info"
  echo "请输入2个svn文件名作为参数,第二个svn文件版本更加新,否则报警告信息"
  exit 0
fi

function getValue() {
  filename=$1
  key=$2
  myresult=`grep ${key} ${filename} | awk -F[:=] '{print $2}'|sed 's/\s//g'`
}

keys=(install_svn autobuild_svn monit_svn gcrcman_svn corosync_svn gcware_svn gcluster_svn logCollector_svn GCMonit_svn gnode_svn)

for key in ${keys
  • } ; do
  •   getValue $file1 $key
      val1=$myresult

      getValue $file2 $key
      val2=$myresult

      echo -n $key...

      if [ $val2 -lt $val1 ] ; then
        echo WARING:\$val1 ">" $val2;
      else
        echo "OK"
      fi
    done;

    测试数据

    新旧的版本信息中,gcluster_svn的信息不同,老的是125743,新的是125742,新的比老的svn号更小,则会爆出WARNING。

    老版本信息

    [root@gbase_rh7_001 gcinstall]# cat BUILDINFO
    release_version =  9.5.2.36
    os_ventor =  redhat
    build_version = release
    license = none
    install_svn:125703
    autobuild_svn:125703
    monit_svn: 76343
    gcrcman_svn: 124109
    corosync_svn: 125515
    gcware_svn: 125515
    gcluster_svn: 125743
    logCollector_svn: 94134
    GCMonit_svn: 125355
    gnode_svn: 125743

    新版本信息

    [root@gbase_rh7_001 gcinstall]# cat BUILDINFO_2
    release_version =  9.5.2.36
    os_ventor =  redhat
    build_version = release
    license = none
    install_svn:125703
    autobuild_svn:125703
    monit_svn: 76343
    gcrcman_svn: 124109
    corosync_svn: 125515
    gcware_svn: 125515
    gcluster_svn: 125742
    logCollector_svn: 94134
    GCMonit_svn: 125355
    gnode_svn: 125743

    运行结果

    [root@gbase_rh7_001 gcinstall]# sh checksvn.sh BUILDINFO BUILDINFO_2
    install_svn...OK
    autobuild_svn...OK
    monit_svn...OK
    gcrcman_svn...OK
    corosync_svn...OK
    gcware_svn...OK
    gcluster_svn...WARING:125743 > 125742
    logCollector_svn...OK
    GCMonit_svn...OK
    gnode_svn...OK
    [root@gbase_rh7_001 gcinstall]

    回答 (2)

    Edgardo
    发表于2021-3-10 11:33

    笑看未来
    发表于2021-3-10 11:34

    撰写回答

    您需要登录后才可以回帖 登录 | 立即注册