1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| #!/bin/bash set -e
APPNAME=LTE BAKID="bkforIPRouteTest"
CURDIR=$(pwd) WORKDIR=$( cd "$(dirname $0)" pwd )
SRCFILEDIR=$WORKDIR/source
LIST=( "lte_agent" \ "lte_trm.sh" \ "iproute.py" \ "devip.py" \ ) SRCDIR=("$SRCFILEDIR" \ "$SRCFILEDIR" \ "$SRCFILEDIR" \ "$SRCFILEDIR" \ ) DSTDIR=("/LTE/user/Area0/bin" \ "/LTE/user/Area0/bin" \ "/LTE/user/Area0/resource/mocons/rules/enodeb/trp" \ "/LTE/user/Area0/resource/mocons/rules/enodeb/trp" \ )
update_f() { LIST=($1) SRCDIR=($2) DSTDIR=($3) for ((i = 0; i < ${#LIST[@]}; i++)); do filepath=${DSTDIR[i]}/${LIST[i]} backpath=$filepath.$BAKID if [ ! -f $backpath ]; then cp -f $filepath $backpath || true fi cp -f ${SRCDIR[i]}/${LIST[i]} $filepath done }
restore_f() { LIST=($1) DSTDIR=($2) for ((i = 0; i < ${#LIST[@]}; i++)); do filepath=${DSTDIR[i]}/${LIST[i]} backpath=$filepath.$BAKID mv -f $backpath $filepath || true done }
update() { cd $WORKDIR
update_f "${LIST[*]}" "${SRCDIR[*]}" "${DSTDIR[*]}"
echo "update apply ok" }
restore() { cd $WORKDIR
restore_f "${LIST[*]}" "${DSTDIR[*]}"
echo "restore ok" }
help() { echo "" echo " ${0} <update|restore>" echo " ------------------------------------------------------------ " echo " ${0} update: 使用source目录下的文件,应用补丁到${APPNAME}" echo " ${0} restore: 使用备份文件恢复${APPNAME}到补丁前状态"
echo " ${0} help: 显示本帮助信息" echo " ------------------------------------------------------------ " echo "" }
if [ $# -ge 1 ]; then if [ "$1" == "update" ]; then update elif [ "$1" == "restore" ]; then restore else help fi exit 0 fi help
|