linux 脚本 写更新,用Shell写的游戏客户端更新脚本

#!/bin/sh

##########################################

# 客户端版本更新系统

##########################################

# CLIENT_INIT_VERSION 客户端新版本,默认是0

# CLIENT_OLD_VERSION  客户端旧版本(存放在VERSION_FILE指定的文件中),当没有时取CLIENT_INIT_VERSION

# CLIENT_NEW_VERSION  客户端新版本,www.linuxidc.com默认是CLIENT_OLD_VERSION+1

# VERSION_FILE        存放上次版本的文件

CLIENT_INIT_VERSION='0'

CLIENT_OLD_VERSION='0'

CLIENT_NEW_VERSION=''

VERSION_FILE='client_version.txt'

# CLIENT_BASE_PATH    放置前端的目录

# VERSION_CONFIG_FILE 服务器前端版本配置文件

# SVN_PATH            前端SVN地址

CLIENT_BASE_PATH='/data/ylzj_test/img/'

VERSION_CONFIG_FILE='/data/ylzj_test/sljweb/version.jsp'

SVN_PATH='http://192.168.14.138:8080/svn/slj_release/ylzj'

CLIENT_NEW_PATH=''

CLIENT_OLD_PATH=''

#更新是否成功

IF_SUCC=''

initVersionFileIfNoExist(){

if [ -f $VERSION_FILE ];then

echo '[INFO] Welcome to use Client Update System.'

else

echo '[INFO] Welcome to use Client Update System.'

echo $CLIENT_INIT_VERSION > $VERSION_FILE

if [ -f $VERSION_FILE ];then

echo '[SUCC] CREATE VERSION FILE '$VERSION_FILE

else

echo '[FAIL] CREATE VERSION FILE '$VERSION_FILE

fi

fi

}

initClientNewVersion(){

CLIENT_OLD_VERSION=$(cat $VERSION_FILE)

echo "[INFO] The old client version is : "$CLIENT_OLD_VERSION

CLIENT_NEW_VERSION=$(expr $(cat $VERSION_FILE) + 1)

echo '[INFO] The new client version is : '$CLIENT_NEW_VERSION

CLIENT_NEW_PATH=$CLIENT_BASE_PATH$CLIENT_NEW_VERSION

CLIENT_OLD_PATH=$CLIENT_BASE_PATH$CLIENT_OLD_VERSION

}

checkIfFileExistAndDoSomething(){

tmpvar=$1

subpath=${tmpvar%/*}

existFile=${tmpvar##*/}

TMP_BACKUP_FLASH_TAR=''

if [ -f $1 -o -d $1 ];then

echo '[WARN] Flash dir '$1' has exists, it will be tar and backup.'

TMP_BACKUP_FLASH_TAR=$existFile'.tar'

cd $subpath

echo '[INFO] Archieving '$existFile' to '$TMP_BACKUP_FLASH_TAR

tar -zcvf $TMP_BACKUP_FLASH_TAR $existFile

echo '[INFO] Removing dir '$existFile

rm -rf $existFile

cd -

fi

unset tmpvar

unset subpath

unset existFile

unset TMP_BACKUP_FLASH_TAR

}

prepareClientDir(){

checkIfFileExistAndDoSomething $CLIENT_NEW_PATH

if [ $CLIENT_INIT_VERSION -eq $CLIENT_OLD_VERSION ];then

#第一次使用

#创建目录

echo '[INFO] First create the flash dir '$CLIENT_NEW_PATH

mkdir -p $CLIENT_NEW_PATH

else

#非第一次使用,修改flash名字

echo '[INFO] Copying '$CLIENT_OLD_PATH' to '$CLIENT_NEW_PATH

mv $CLIENT_OLD_PATH $CLIENT_NEW_PATH

fi

if [ -d $CLIENT_NEW_PATH ];then

IF_SUCC='TRUE'

fi

}

storeThisVersionIfSucc(){

if [ -n $IF_SUCC ]; then

echo $CLIENT_NEW_VERSION > $VERSION_FILE

echo "" > $VERSION_CONFIG_FILE

fi

}

createClient(){

echo '[INFO] Checking out flash version...'

svn co $SVN_PATH $CLIENT_NEW_PATH --username=bqli --password=123456

echo '[INFO] Checking out has finished.'

}

updateClient(){

echo '[INFO] Updating flash version...'

svn update $CLIENT_NEW_PATH

echo '[INFO] Updating has finished.'

}

createOrUpdateClient(){

if [ $CLIENT_INIT_VERSION -eq $CLIENT_OLD_VERSION ];then

createClient

else

updateClient

fi

}

echoStartInfo(){

echo '#################################################'

echo '# 欢迎使用客户端版本更新系统V1.0'

echo '#################################################'

}

echoEndInfo(){

echo '[SUCC] Finished.'

}

clear

echoStartInfo

initVersionFileIfNoExist

initClientNewVersion

prepareClientDir

createOrUpdateClient

storeThisVersionIfSucc

echoEndInfo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值