Cookdestop一键部署脚本

68 阅读1分钟

前言

前两天帮朋友看服务器,寻思着用下Cookdestop,于是通过scp上传,但是忽然觉得有些麻烦,所以又写了一个部署脚本,并注册为系统服务。

以下命令可以直接在服务器执行。

wget https://houxinlin.com/res/install.sh
chmod 777 install.sh
./install.sh

接下来可以通过systemctl start cooldesktop.service开启服务,默认端口是2556,可以通过以下命令更改。

echo 8080> ~/cooldesktop-work/config/port.cnf

下面是脚本内容。

#!/bin/bash
COOLDESKTOP_FILE="/opt/cooldesktop/cooldesktop.jar"
COOLDESKTOP_SERVICE="/etc/systemd/system/cooldesktop.service"
if [ "$EUID" -ne 0 ];then
    echo "Please run this script as root"
    exit 1
fi

java=$(java -version > /dev/null 2>&1)
if [ $? -ne 0 ];then
    echo "java not install"
    exit 1
fi
mkdir -p /opt/cooldesktop
wget https://www.houxinlin.com/res/cool_sum.txt -O cool_sum.txt
if [ $? -ne 0 ];then
    echo "校验合下载失败"
    exit 1
fi
cooldesktopSum=$(cat "./cool_sum.txt" | awk '{print $1}')
cooldesktopDownloadUrl=$(cat "./cool_sum.txt" | awk '{print $2}')

while :
do
    if [ ! -f "$COOLDESKTOP_FILE" ] || [ $(shasum $COOLDESKTOP_FILE | awk '{print $1}') != $cooldesktopSum ]
    then
        rm -rf $COOLDESKTOP_FILE
        echo "download"
        if [ -f "$COOLDESKTOP_SERVICE" ]; then
            systemctl stop cooldesktop.service
        fi
        wget $cooldesktopDownloadUrl -O $COOLDESKTOP_FILE
    else
        break
    fi
done
$(touch $COOLDESKTOP_SERVICE)
java_home=$(which java)
echo "[Unit]
Description=Cooldesktop Service
After=syslog.target network.target

[Service]
SuccessExitStatus=143
User=root
Type=simple
WorkingDirectory=/opt/cooldesktop/
ExecStop=/bin/kill -15 \$MAINPID
ExecStart=$java_home -jar cooldesktop.jar

[Install]
WantedBy=multi-user.target
" > $COOLDESKTOP_SERVICE
systemctl daemon-reload
echo "done."
echo "服务配置成功,请运行'systemctl start coolstop.service'启动cooldesktop或'systemclt stop cooldsktop.service'停止cooldesktop."
isRun=$(systemctl status cooldesktop.service |grep "active (running)")
if [ $? -ne 0 ];then
    echo "是否启动?y/n"
    read state
    if [ $state = "y" ];then
        systemctl start cooldesktop.service
    fi
else
    echo $isRun
fi