75 lines
2.3 KiB
Bash
Executable File
75 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
SOFT_PATH="/home/smart"
|
|
SOFT_NAME="SmartOrganizer"
|
|
SERVICE_SCRIPT="SOService"
|
|
SERVICE_NAME="SOS"
|
|
|
|
wget -q --no-check-certificate "https://bbt-static-a.oss-cn-beijing.aliyuncs.com/smart/organizer/${SOFT_NAME}.zip" -O ${SOFT_PATH}/${SOFT_NAME}.zip
|
|
|
|
if [[ -z ${SOFT_PATH}/${SOFT_NAME}.zip ]]; then
|
|
echo "Download failed!"
|
|
exit 2
|
|
fi
|
|
|
|
echo "Download successed"
|
|
|
|
unzip -o -qq ${SOFT_PATH}/${SOFT_NAME}.zip -d ${SOFT_PATH}/${SOFT_NAME}
|
|
echo "Unpacking..."
|
|
chmod 700 ${SOFT_PATH}/${SOFT_NAME}/SO*
|
|
chmod 700 ${SOFT_PATH}/${SOFT_NAME}/bin/*
|
|
chmod 700 ${SOFT_PATH}/${SOFT_NAME}/common/*/*
|
|
chmod 700 ${SOFT_PATH}/${SOFT_NAME}/scripts/*
|
|
mkdir -p ${SOFT_PATH}/${SOFT_NAME}/downloads ${SOFT_PATH}/${SOFT_NAME}/tasks
|
|
chmod 777 ${SOFT_PATH}/${SOFT_NAME}/downloads ${SOFT_PATH}/${SOFT_NAME}/tasks
|
|
rm -f ${SOFT_PATH}/${SOFT_NAME}.zip
|
|
echo "DONE!"
|
|
echo "Remove source package"
|
|
|
|
if [[ -f ${SOFT_PATH}/${SOFT_NAME}/init.sh ]];then
|
|
echo "Initializing..."
|
|
/bin/bash ${SOFT_PATH}/${SOFT_NAME}/init.sh
|
|
rm -f ${SOFT_PATH}/${SOFT_NAME}/init.sh
|
|
echo "Initialize Completed!"
|
|
fi
|
|
|
|
if [[ -f ${SOFT_PATH}/${SOFT_NAME}/upgrade.sh ]];then
|
|
rm -f ${SOFT_PATH}/${SOFT_NAME}/upgrade.sh
|
|
echo "Unused script clear Completed!"
|
|
fi
|
|
|
|
# service and restart
|
|
|
|
getSystemVersion()
|
|
{
|
|
releasetmp=`cat /etc/redhat-release | awk -Frelease '{print $2}' | awk -F. '{print $1}' | awk '{print $1}'`
|
|
echo $releasetmp
|
|
}
|
|
|
|
syncSoftwareStatus()
|
|
{
|
|
hostname=$(hostname)
|
|
name="SmartOrganizer"
|
|
version=$(cat ${SOFT_PATH}/${SOFT_NAME}/.version)
|
|
echo "Sync software status: ${hostname}:${name}:${version}"
|
|
curl -sS -D /dev/null -o /dev/null -H "hostname:${hostname}" "https://c.baobaot.com/api/software/sync_status?name=${name}&version=${version}"
|
|
}
|
|
|
|
syncSoftwareStatus
|
|
|
|
if [[ $(getSystemVersion) -eq 6 ]]; then
|
|
echo "current system version is 6"
|
|
service SOS stop
|
|
rm -f /etc/init.d/${SERVICE_NAME}
|
|
ln -s ${SOFT_PATH}/${SOFT_NAME}/${SERVICE_SCRIPT} /etc/init.d/${SERVICE_NAME}
|
|
chkconfig --add ${SERVICE_NAME}
|
|
chkconfig ${SERVICE_NAME} on
|
|
service SOS start
|
|
else
|
|
echo "current system version is > 6"
|
|
systemctl stop ${SERVICE_NAME}
|
|
systemctl disable ${SERVICE_NAME}
|
|
rm -f /usr/lib/systemd/system/${SERVICE_NAME}.service
|
|
systemctl enable ${SERVICE_NAME}
|
|
systemctl start ${SERVICE_NAME}
|
|
fi |