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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种网络引导技术,可以通过网络从远程服务器上启动和安装操作系统。编一个PXE装机的Shell脚本可以帮助简化和自动化这个过程。下面是一个简单的PXE装机Shell脚本的示例: ```shell #!/bin/bash # 设置PXE服务器的IP地址和TFTP根目录 PXE_SERVER_IP="192.168.1.100" TFTP_ROOT="/var/lib/tftpboot" # 设置要安装的操作系统镜像文件名 OS_IMAGE="ubuntu-20.04.iso" # 设置客户端的MAC地址 CLIENT_MAC="00:11:22:33:44:55" # 创建PXE配置文件 echo "DEFAULT menu.c32 PROMPT 0 TIMEOUT 300 ONTIMEOUT local MENU TITLE PXE Boot Menu LABEL install MENU LABEL Install Ubuntu KERNEL ubuntu-installer/amd64/linux APPEND vga=788 initrd=ubuntu-installer/amd64/initrd.gz ks=http://${PXE_SERVER_IP}/ks.cfg LABEL local MENU LABEL Boot from local disk LOCALBOOT 0" > ${TFTP_ROOT}/pxelinux.cfg/default # 创建Kickstart配置文件 echo "# 安装语言 lang en_US.UTF-8 # 网络配置 network --bootproto=dhcp --device=eth0 # 安装源 url --url=http://${PXE_SERVER_IP}/ubuntu # 设置root密码 rootpw --iscrypted $6$z9X3s... # 安装软件包 %packages @^ubuntu-desktop firefox gimp %end" > ${TFTP_ROOT}/ks.cfg # 将操作系统镜像文件复制到TFTP根目录 cp ${OS_IMAGE} ${TFTP_ROOT}/ubuntu/${OS_IMAGE} # 启动TFTP和DHCP服务 systemctl start tftp systemctl start dhcp # 添加客户端MAC地址到DHCP配置文件 echo "host pxeclient { hardware ethernet ${CLIENT_MAC}; fixed-address 192.168.1.200; }" >> /etc/dhcp/dhcpd.conf # 重启DHCP服务 systemctl restart dhcp ``` 这个脚本的功能是创建PXE配置文件、Kickstart配置文件,并将操作系统镜像文件复制到TFTP根目录。然后启动TFTP和DHCP服务,并将客户端的MAC地址添加到DHCP配置文件中,最后重启DHCP服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值