还是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
return 1
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
for loop in $a $b $c $d
do
if [ $loop -ge 255 ] || [ $loop -lt 0 ]; then
return 2
fi
done
fi
}
ConfigureDefaultRegion() {
echo "Please input Region ip"
ret=1
while [ $ret != 0 ]
do
read region_ip
CheckIPAddress $region_ip
ret=$?
#echo $ret
if [ $ret = 1 ]; then
echo "Wrong IP address, please reinput Region IP:"
fi
done
/usr/bin/mysql -u root realworx_production -e "update regions set ip='$region_ip' where id=1" 1>/dev/null 2>/dev/null
if [ $? = 0 ]; then
/usr/bin/mysql -u root realworx_production -e "update config_params set val=1 where ident=55" 1>/dev/null 2>/dev/null
echo "set '$region_ip' as Default and Admin Region IP"
else
val=`/usr/bin/mysql -u root realworx_production -e "select id from regions where ip='$region_ip'" | awk '{if ($1 != "id") print $1}'`
/usr/bin/mysql -u root realworx_production -e "update config_params set val='$val' where ident=55" 1>/dev/null 2>/dev/null
region_name=`/usr/bin/mysql -u root realworx_production -e "select name from regions where ip='$region_ip'" | awk '{if ($1 != "name") print $1}'`
echo "IP already exists. So set '$region_name' as Admin Region. "
fi
echo "Region Setting Successfull."
}