Files
tms-arch-linux-calamares-in…/archiso/airootfs/home/smart/smart-organizer-service-install.sh
2025-12-08 05:11:26 +08:00

95 lines
2.9 KiB
Bash

#!/usr/bin/env bash
SOFT_PATH="/home/smart"
SOFT_NAME="SmartOrganizer"
SERVICE_SCRIPT="SOService"
SERVICE_NAME="SOS"
#https://bbt-static-beta.oss-cn-beijing.aliyuncs.com/smart/organizer/SmartOrganizer.zip
wget -q --no-check-certificate "https://bbt-static-beta.oss-cn-beijing.aliyuncs.com/smart/organizer/SmartOrganizer.zip" -O ${SOFT_PATH}/${SOFT_NAME}.zip
cp -r -f /home/smart/install8.5/SmartOrganizer /home/smart/
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_SCRIPT}
systemctl disable ${SERVICE_SCRIPT}
rm -f /usr/lib/systemd/system/${SERVICE_SCRIPT}.service
cat > /usr/lib/systemd/system/${SERVICE_SCRIPT}.service <<EOF
[Unit]
Description=SOService
[Service]
Type=forking
Restart=on-failure
RestartSec=5s
ExecStart=/bin/bash /home/smart/SmartOrganizer/SOService start
ExecStop=/bin/bash /home/smart/SmartOrganizer/SOService stop
ExecRestart=/bin/bash /home/smart/SmartOrganizer/SOService restart
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable ${SERVICE_SCRIPT}
systemctl start ${SERVICE_SCRIPT}
fi