| 
 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 
 | 
 # user can config the following configs, then package. 
INSTALL=/usr/local/cusflo-server 
ok_msg() { 
echo -e "${1}${POS}${BLACK}[${GREEN} OK ${BLACK}]" 
} 
failed_msg() { 
echo -e "${1}${POS}${BLACK}[${RED}FAILED${BLACK}]" 
} 
# discover the current work dir, the log and access. 
echo "argv[0]=$0" 
if [[ ! -f $0 ]]; then  
echo "directly execute the scripts on shell."; 
work_dir=`pwd` 
else  
echo "execute scripts in file: $0"; 
work_dir=`dirname $0`; work_dir=`(cd ${work_dir} && pwd)` 
fi 
product_dir=$work_dir 
# user must stop service first. 
ok_msg "check previous install" 
if [[ -f /etc/init.d/cusflo-server-moon ]]; then 
/etc/init.d/cusflo-server-moon status >/dev/null 2>&1 
ret=$?; if [[ 0 -eq ${ret} ]]; then  
failed_msg "you must stop the service first: sudo /etc/init.d/cusflo-server-moon stop";  
exit 1;  
fi 
fi 
ok_msg "previous install checked" 
# backup old srs 
ok_msg "backup old cusflo-server-moon" 
install_root=$INSTALL 
install_bin=$install_root/ 
if [[ -d $install_root ]]; then 
backup_dir=${install_root}.`date "+%Y-%m-%d_%H-%M-%S"` 
ok_msg "backup installed dir" 
ok_msg " to=$backup_dir" 
mv $install_root $backup_dir 2>&1 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "backup installed dir failed"; exit $ret; fi 
ok_msg "backup installed dir success" 
fi 
ok_msg "old srs backuped" 
# copy core files 
ok_msg "copy core components" 
( 
mkdir -p $install_root 
cp -r $work_dir/conf $install_root && 
cp -r $work_dir/dog $install_root && 
cp -r $work_dir/log $install_root && 
cp -r $work_dir/moon $install_root && 
cp -r $work_dir/scripts $install_root 
) 2>&1 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "copy core components failed"; exit $ret; fi 
ok_msg "copy core components success" 
# install init.d scripts 
ok_msg "install init.d scripts" 
( 
rm -rf /etc/init.d/cusflo-server-moon && 
ln -sf $install_root/scripts/cusflo-server-moon /etc/init.d/cusflo-server-moon 
) 2>&1 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install init.d scripts failed"; exit $ret; fi 
ok_msg "install init.d scripts success" 
# install system service 
lsb_release --id|grep "CentOS" >/dev/null 2>&1; os_id_centos=$? 
lsb_release --id|grep "Ubuntu" >/dev/null 2>&1; os_id_ubuntu=$? 
lsb_release --id|grep "Debian" >/dev/null 2>&1; os_id_debian=$? 
lsb_release --id|grep "Raspbian" >/dev/null 2>&1; os_id_rasabian=$? 
if [[ 0 -eq $os_id_centos ]]; then 
ok_msg "install system service for CentOS" 
/sbin/chkconfig --add cusflo-server-moon && /sbin/chkconfig cusflo-server-moon on 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi 
ok_msg "install system service success" 
elif [[ 0 -eq $os_id_ubuntu ]]; then 
ok_msg "install system service for Ubuntu" 
update-rc.d cusflo-server-moon defaults 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi 
ok_msg "install system service success" 
elif [[ 0 -eq $os_id_debian ]]; then 
ok_msg "install system service for Debian" 
update-rc.d cusflo-server-moon defaults 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi 
ok_msg "install system service success" 
elif [[ 0 -eq $os_id_rasabian ]]; then 
ok_msg "install system service for RaspberryPi" 
update-rc.d cusflo-server-moon defaults 
ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "install system service failed"; exit $ret; fi 
ok_msg "install system service success" 
else 
warn_msg "ignore and donot install system service for `lsb_release --id|awk ‘{print $3}‘`." 
fi 
echo "" 
echo "install success, you can:" 
echo -e "${GREEN} sudo ./moon/scripts/cusflo-server-moon start${BLACK}" 
echo "cusflo-server-moon root is ${INSTALL}" 
exit 0 
 |