#!/bin/bash
####################################
# check collectionspaces scripts
#
####################################
> CL.config;
curtime=`date +'%Y-%m-%d %H:%M:%S'`;
CS_NAME=$1;
CL_NAME=$2;
cs_cl=$CS_NAME'.'$CL_NAME;
######################## Main Function ###########################################################################
/opt/sequoiadb/bin/sdb "var db=new Sdb('localhost',11810)";
/opt/sequoiadb/bin/sdb "db.snapshot(4,{Name:'$cs_cl'})"|grep NodeName |awk -F ":" '{print $2","$3}' |sed 's/"//g'|sed 's/ //g' >> CL.config;
line=`wc -l CL.config|awk -F ' ' '{print $1}'`;
for((i=1;i
do
x1=`sed -n "$i p" CL.config |awk -F ',' '{print $1}'`;
x2=`sed -n "$i p" CL.config |awk -F ',' '{print $2}'`;
x3=`/opt/sequoiadb/bin/sdb "try{var db=new Sdb('${x1}','${x2}');db.getCS('${CS_NAME}').getCL('${CL_NAME}').findOne();}catch(e){ println('[ERROR]:connect error: '+e);}" |grep -i "return"|awk -F ' ' '{print $1}'`;
if [ $x3 == "Return" ]
then
echo "$curtime $x1|$x2|$CS_NAME.$CL_NAME [CollectionSpaces Normal]";
else
echo "$curtime $x1|$x2|$CS_NAME.$CL_NAME [CollectionSpaces Abnormal]";
fi
done
用法: sh 注数据库连接密码需要自行更改;