Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >
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

# /LTE/user/Area0/bin/ lte_agent
# /LTE/user/Area0/cfg/ btscfg.db
# /LTE/user/Area0/cfg/ btsmincfg.json
# /LTE/user/Area0/cfg/ eNodeBCfg.json
# /LTE/user/Area0/resource/mometa/ IPROUTE.json

LIST=( "lte_agent" \
"lte_trm.sh" \
"iproute.py" \
"devip.py" \
# "IPROUTE.json" \
)
SRCDIR=("$SRCFILEDIR" \
"$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" \
# "/LTE/user/Area0/resource/mometa" \
)

# param1: LIST
# param2: SRCDIR
# param3: DSTDIR
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
}

# param1: LIST
# param2: DSTDIR
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

评论