Shell脚本检查IP格式及mysql操作实例
还是cronjob的一部分,就是在Rails的定时任务里,后台交互运行
CheckIPAddress()
{
echo$1|grep"^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$">/dev/null
if[$?=1];then
return1
else
a=`echo$1|awk-F.'{print$1}'`
b=`echo$1|awk-F.'{print$2}'`
c=`echo$1|awk-F.'{print$3}'`
d=`echo$1|awk-F.'{print$4}'`
#echo$a$b$c$d
forloopin$a$b$c$d
do
if[$loop-ge255]||[$loop-lt0];then
return2
fi
done
fi
}
ConfigureDefaultRegion(){
echo"PleaseinputRegionip"
ret=1
while[$ret!=0]
do
readregion_ip
CheckIPAddress$region_ip
ret=$?
#echo$ret
if[$ret=1];then
echo"WrongIPaddress,pleasereinputRegionIP:"
fi
done
/usr/bin/mysql-urootrealworx_production-e"updateregionssetip='$region_ip'whereid=1"1>/dev/null2>/dev/null
if[$?=0];then
/usr/bin/mysql-urootrealworx_production-e"updateconfig_paramssetval=1whereident=55"1>/dev/null2>/dev/null
echo"set'$region_ip'asDefaultandAdminRegionIP"
else
val=`/usr/bin/mysql-urootrealworx_production-e"selectidfromregionswhereip='$region_ip'"|awk'{if($1!="id")print$1}'`
/usr/bin/mysql-urootrealworx_production-e"updateconfig_paramssetval='$val'whereident=55"1>/dev/null2>/dev/null
region_name=`/usr/bin/mysql-urootrealworx_production-e"selectnamefromregionswhereip='$region_ip'"|awk'{if($1!="name")print$1}'`
echo"IPalreadyexists.Soset'$region_name'asAdminRegion."
fi
echo"RegionSettingSuccessfull."
}