shell脚本实例-实现自动发布到不同的环境
#!/bin/bash
#publish80.sh dev make
#publish80.sh uat make
#publish80.sh dev_uat
if [ $# -ne 1 -a $# -ne 2 ]; then
echo " this shell need a param like dev uat dev_uat & make ..."
exit -1
fi
if [ $# -eq 2 ]; then
make=$2
if [ "$make"x = "make"x ]; then
tmpx=`date +%Y%m%d%H%M%S`
fileName="workapp-"$tmpx".bak"
cp -r ../workapp ../bak/$fileName
svn update $APPHOME/src/
svn update $APPHOME/etc/
svn update $APPHOME/sbin/
#svn update $APPHOME/java/
make -f $APPHOME/src/batch.mak clean all
rm -rf ./workapp.tar.gz
cp -r ../workapp ./
tar -zcvf workapp.tar.gz workapp --exclude workapp/.svn --exclude workapp/temp --exclude workapp/java --exclude workapp/etc --exclude workapp/sbin --exclude workapp/log
#tar -zcvf workapp.tar.gz workapp --exclude workapp/.svn --exclude workapp/temp --exclude workapp/java --exclude workapp/log
rm -rf ./workapp
else
echo "the second param of this shell should be make..."
exit -1
fi
fi
env=$1
if [ "$env"x = "dev"x ]; then
echo -e "send workapp.tar.gz to dev....\n"
./scpFile.sh /app/workapp.tar.gz dev@10.10.10.10:/app/dev/
fi
if [ "$env"x = "uat"x ]; then
echo -e "send workapp.tar.gz to uat.....\n"
./scpFile.sh /app/workapp.tar.gz uat@10.10.10.11:/app/uat/
fi
if [ "$env"x = "dev_uat"x ]; then
echo -e "send workapp.tar.gz to dev_uat...\n"
./scpFile.sh /app/workapp.tar.gz dev@10.10.10.10:/app/dev/
./scpFile.sh /app/workapp.tar.gz uat@10.10.10.11:/app/uat/
fi