Files
MIXBOX-ARCHIVE/apps/mixbox/scripts/monitor.sh
2020-03-05 00:08:40 +08:00

73 lines
2.4 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/sh
#copyright by monlor
source /etc/mixbox/bin/base
detect_apps() {
applist installed -n| while read line
do
${mbroot}/apps/${line}/scripts/${line}.sh status
result1="$(mbdb get ${line}.main.enable)"
result2="$(mbdb get ${line}.main.status | cut -d'|' -f2)"
if [ "$result1" = '1' ] && [ "$result2" = '0' ]; then
${mbroot}/apps/${line}/scripts/${line}.sh restart
fi
done
}
detect_update() {
if [ "$(mbdb get mixbox.main.autoupdate)" = '1' ]; then
mixbox get_version 1> /dev/null
toolsver="$(applist mixbox -v)"
if [ -z "$toolsver" ]; then
logsh "【Tools】" "未获取到工具箱版本信息!"
else
if [ "$(versioncmp $mbver $toolsver)" = '1' ]; then
logsh "【Tools】" "检测到工具箱有更新!即将更新..." && sleep 2
mixbox update
fi
fi
applist installed -n | while read line; do
[ "$(mbdb get ${line}.main.enable)" = '0' ] && continue
appver_online="$(cat ${mbtmp}/versions.txt | grep "${line}" | cutsh 2)"
appver_local="$(mbdb get mixbox.${line}.version)"
[ -z "$appver_local" -o -z "$appver_online" ] && logsh "【Tools】" "未获取插件${line}的版本信息!" && continue
if [ "$(versioncmp $appver_local $appver_online)" = '1' ]; then
logsh "【Tools】" "检测到插件${line}有更新!即将更新..." && sleep 2
${mbroot}/scripts/appmanage.sh upgrade ${line}
${mbroot}/apps/${line}/scripts/${line}.sh restart
fi
done
fi
}
detect_others() {
if [ -f "$mbdisk/uninstall_mixbox" ]; then
logsh "【Tools】" "检测到工具箱出现问题,正在备份并卸载工具箱..."
mixbox backup
cp /etc/mbbackup.tar.gz $mbdisk/mbbackup.tar.gz
mixbox uninstall || ${mbroot}/scripts/uninstall.sh
echo "工具箱已卸载并备份了工具箱配置到这里:$mbdisk/mbbackup.tar.gz" > $mbdisk/uninstall_tools.txt
rm -rf $mbdisk/uninstall
fi
if [ -f "$mbdisk/fix_dropbear" ]; then
logsh "【Tools】" "检测到ssh出现问题正在尝试修复..."
killall -9 dropbear
daemon ${mbroot}/apps/dropbear/bin/dropbear -p 3333 -d ${mbroot}/apps/dropbear/config/dropbear_dss_host_key -r ${mbroot}/apps/dropbear/config/dropbear_rsa_host_key
# echo -e "123456/n123456" | passwd root
echo "启动ssh服务器登录地址[ssh root@$lanip -p 3333]Have Fun!" > $mbdisk/fix_dropbear.txt
rm -rf $mbdisk/fix_dropbear
fi
}
if [ -z "$(pssh | grep -w ${mbroot}/bin/mixbox)" ]; then
applist update
detect_update
detect_apps
detect_others
fi