CasaOS/shell/tools.sh
2021-09-26 10:35:02 +08:00

100 lines
2.3 KiB
Bash
Raw 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/bash
Show(){
local color=("$@") output grey green red reset
if [[ -t 0 || -t 1 ]]
then
output='\e[0m\r\e[J' grey='\e[90m' green='\e[32m' red='\e[31m' reset='\e[0m'
fi
local left="${grey}[$reset" right="$grey]$reset"
local ok="$left$green OK $right " failed="$left${red}FAILED$right "
# Print color array from index $1
Print(){
[[ $1 == 1 ]]
for ((i=$1; i<${#color[@]}; i++))
do
output+=${color[$i]}
done
echo -ne "$output$reset"
}
if (( $1 == 0 )); then
output+=$ok
color+=('\n')
Print 1
#--------------------------------------------------------------------------------------
# Failed
# $2+ = message
elif (( $1 == 1 )); then
output+=$failed
color+=('\n')
Print 1
fi
}
function update(){
# 终止守护者
Watch=StopWatchmen
monitoring=` ps -ef|grep "Watchmen" |grep -v grep| wc -l`
target=` ps -ef|grep Watchmen|grep -v grep|awk '{print $2}'`
if [ $monitoring -eq 0 ]
then
echo "Watchmen is not running "
else
echo "Watchmen is running, and kill it"
kill -9 $target
if [ $? -eq 0 ]
then
Show 0 "$Watch"
else
Show 1 "$Watch"
fi
fi
# 终止Oasis
Oasis=StopOasis
monitoring=` ps -ef|grep "build_linux" |grep -v grep| wc -l`
target=` ps -ef|grep build_linux |grep -v grep|awk '{print $2}'`
if [ $monitoring -eq 0 ]
then
echo "build_linux is not running "
else
echo "build_linux is running, and kill it"
kill -9 $target
if [ $? -eq 0 ]
then
Show 0 "$Oasis"
else
Show 1 "$Oasis"
fi
fi
# 删除原文件并拉取新的网址
Update=Updating
wget https://github.com/a624669980/xiange/releases/download/1.0.5/zip.zip -O ./zip.zip
unzip -o zip.zip -d /Oasis/server/api/
# 启动Oasis
nohup /Oasis/server/api/zip/build_linux -c /Oasis/server/api/zip/conf/conf.ini >> /Oasis/log/install.log 2>&1 &
if [ $? -eq 0 ]
then
Show 0 "$Update"
else
Show 1 "$Update"
fi
if [ -f "zip.zip" ];
then
rm zip.zip
else
echo "not exist oasis.zip"
fi
Watchm=StartWatch
nohup sh /Oasis/util/shell/Watchman.sh >> /Oasis/log/install.log 2>&1 &
if [ $? -eq 0 ]
then
Show 0 "$Watchm"
else
Show 1 "$Watchm"
fi
Show 0 "Successful"
}
update