Mysql分布式数据库变更自动化部署(四)
se file."
echo "The detail you refer to [$DEPLOYLOG]."
echo "ISDEPLOY=N" > $DIR/isfail
exit 1
fi
done
else
echo "Please confirm the number of test nodes deployment is the only one!!!"
exit 1
fi
# deploy remain nodes
readcfg deploynode
##LIST=`ls -lrth $RELEASEDIR|awk '{print $9}'`
for h in `cat $CFGPID`
do
deploylog=$DIRLOG/${h}_${CURPID}_process_deploy.log
{
echo "*************************************************"
echo "[$DATE]: Preparing to deploy $RELEASEFILE to [$h]..."
echo "*************************************************"
read -u6
releasefile=$RDIR/$RELEASEFILE
multi_deploy $h $releasefile
if [ $? -eq 0 ]; then
echo "[$DATE]: The release file [$RELEASEFILE] have been deployed to $h success."
echo "The detail you refer to [$DEPLOYLOG]."
else
echo "[$DATE]: Release file [$RELEASEFILE] is deployed to $h fail,Please check release file."
echo "The detail you refer to [$DEPLOYLOG]."
echo "ISDEPLOY=N" > $DIR/isdeploy
exit 1
fi
echo >&6
} > $deploylog &
wait
done
echo "*************************************************" >
$DEPLOYLOG
echo "* $DATE: Deployed results with all nodes" >> $DEPLOYLOG
echo "*************************************************" >> $DEPLOYLOG
for f in `ls $DIRLOG/*process_deploy.log`; do
cat $f >> $DEPLOYLOG
rm -rf $f
done
if [ -f "$DIR/isfail" ] ; then
echo "[$RELEASEFILE] is deployed fail,the detail you refer to [$DEPLOYLOG]."
rm -rf $DIR/isfail
else
echo "[$RELEASEFILE] is deployed success on all special nodes,the detail you refer to [$DEPLOYLOG]"
rm -rf $DIR/issucess
mv $RELEASEDIR/$RELEASEFILE $POST_RELEASEDIR/${RELEASEFILE}_`date "+%Y%m%d%H%M"`_success
fi
#echo "[$RELEASEFILE] is deployed to all nodes success,the detail you refer to [$DEPLOYLOG]."
#mv $RELEASEDIR/$RELEASEFILE $POST_RELEASEDIR/${RELEASEFILE}_`date "+%Y%m%d%H%M"`_success
else
echo "[$RELEASEDIR/$RELEASEFILE] not exist! Please confirm whether the file have been uploaded or deployed."
exit 1
fi
else
echo "Please input operation mode[ftp/deploy]"
exit 1
fi
exec 6>&-
exit 0