a little improve
parent
2bf749b955
commit
3749e5d7e7
42
one-touch.sh
42
one-touch.sh
|
@ -1,16 +1,15 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# set rust_serverstatus
|
# set up rust_serverstatus and
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
|
|
||||||
apt-get install -y curl wget unzip
|
apt-get install -y curl unzip
|
||||||
|
|
||||||
# get_architecture
|
# get_architecture
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
|
|
||||||
# 设置 ARCHITECTURE 变量
|
# 设置 ARCHITECTURE 变量
|
||||||
if [[ $arch == "aarch64" ]]; then
|
if [[ $arch == "aarch64" ]]; then
|
||||||
ARCHITECTURE="arm64"
|
ARCHITECTURE="arm64"
|
||||||
|
@ -23,26 +22,28 @@ fi
|
||||||
|
|
||||||
# step 0: prepare
|
# step 0: prepare
|
||||||
OS_ARCH=$ARCHITECTURE
|
OS_ARCH=$ARCHITECTURE
|
||||||
WORKSPACE=${1}
|
WORKDIR=${1} # 安装目录
|
||||||
passwd=${2}
|
ssr_uid=${2} # rust_serverstatus 配置文件里用户名对应的密码
|
||||||
uid=${3}
|
passwd=${3} # rust_serverstatus 配置文件里的用户名
|
||||||
server_address=${4}
|
server_address=${4} # rust_serverstatus 服务端网址
|
||||||
user_name=${5}
|
user_name=${5} # 本机运行这个 rust_serverstatus 的用户
|
||||||
test_or_not=${6}
|
install_server_or_not=${6} # 空着就不安装服务端
|
||||||
|
|
||||||
mkdir -p ${WORKSPACE}
|
mkdir -p ${WORKDIR}
|
||||||
cd ${WORKSPACE}
|
cd ${WORKDIR}
|
||||||
|
|
||||||
latest_version=$(curl -m 10 -sL "https://api.github.com/repos/zdz/ServerStatus-Rust/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
github_project="zdz/ServerStatus-Rust"
|
||||||
|
tag=$(curl -m 10 -sL "https://api.github.com/repos/$github_project/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
|
|
||||||
|
|
||||||
# step 1: 下载和解压客户端
|
# step 1: 下载和解压客户端
|
||||||
wget --no-check-certificate -qO "client-${OS_ARCH}-unknown-linux-musl.zip" "https://github.com/zdz/ServerStatus-Rust/releases/download/${latest_version}/client-${OS_ARCH}-unknown-linux-musl.zip"
|
curl -L -O https://github.com/zdz/ServerStatus-Rust/releases/download/${tag}/client-${OS_ARCH}-unknown-linux-musl.zip
|
||||||
unzip -o "client-${OS_ARCH}-unknown-linux-musl.zip"
|
unzip -o "client-${OS_ARCH}-unknown-linux-musl.zip"
|
||||||
rm "client-${OS_ARCH}-unknown-linux-musl.zip"
|
rm "client-${OS_ARCH}-unknown-linux-musl.zip"
|
||||||
|
|
||||||
# client systemd service
|
# client systemd service
|
||||||
cat > /etc/systemd/system/stat_client.service <<EOF
|
cat > /etc/systemd/system/stat_client.service <<EOF
|
||||||
|
# /etc/systemd/system/stat_client.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=ServerStatus-Rust Client
|
Description=ServerStatus-Rust Client
|
||||||
After=network.target
|
After=network.target
|
||||||
|
@ -51,16 +52,15 @@ After=network.target
|
||||||
User=${user_name}
|
User=${user_name}
|
||||||
Group=${user_name}
|
Group=${user_name}
|
||||||
Environment="RUST_BACKTRACE=1"
|
Environment="RUST_BACKTRACE=1"
|
||||||
WorkingDirectory=${WORKSPACE}
|
WorkingDirectory=${WORKDIR}
|
||||||
# EnvironmentFile=~/myserve/serverstatus/.env
|
# EnvironmentFile=~/myserve/serverstatus/.env
|
||||||
ExecStart=${WORKSPACE}/stat_client -a "${server_address}" -u ${uid} -p ${passwd}
|
ExecStart=${WORKDIR}/stat_client -a "${server_address}" -u ${ssr_uid} -p ${passwd}
|
||||||
ExecReload=/bin/kill -HUP \$MAINPID
|
ExecReload=/bin/kill -HUP \$MAINPID
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
||||||
# /etc/systemd/system/stat_client.service
|
|
||||||
# journalctl -u stat_client -f -n 100
|
# journalctl -u stat_client -f -n 100
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -70,17 +70,18 @@ systemctl status stat_client
|
||||||
|
|
||||||
|
|
||||||
# 判断是否部署服务端,不部署就直接退出
|
# 判断是否部署服务端,不部署就直接退出
|
||||||
if [[ -z ${test_or_not} ]]; then
|
if [[ -z ${install_server_or_not} ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 下载和解压服务端
|
# 下载和解压服务端
|
||||||
wget --no-check-certificate -qO "server-${OS_ARCH}-unknown-linux-musl.zip" "https://github.com/zdz/ServerStatus-Rust/releases/download/${latest_version}/server-${OS_ARCH}-unknown-linux-musl.zip"
|
curl -L -O https://github.com/zdz/ServerStatus-Rust/releases/download/${tag}/server-${OS_ARCH}-unknown-linux-musl.zip
|
||||||
unzip -o "server-${OS_ARCH}-unknown-linux-musl.zip"
|
unzip -o "server-${OS_ARCH}-unknown-linux-musl.zip"
|
||||||
rm "server-${OS_ARCH}-unknown-linux-musl.zip"
|
rm "server-${OS_ARCH}-unknown-linux-musl.zip"
|
||||||
|
|
||||||
# server systemd service
|
# server systemd service
|
||||||
cat > /etc/systemd/system/stat_server.service <<EOF
|
cat > /etc/systemd/system/stat_server.service <<EOF
|
||||||
|
# /etc/systemd/system/stat_server.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=ServerStatus-Rust Server
|
Description=ServerStatus-Rust Server
|
||||||
After=network.target
|
After=network.target
|
||||||
|
@ -89,15 +90,14 @@ After=network.target
|
||||||
User=${user_name}
|
User=${user_name}
|
||||||
Group=${user_name}
|
Group=${user_name}
|
||||||
Environment="RUST_BACKTRACE=1"
|
Environment="RUST_BACKTRACE=1"
|
||||||
WorkingDirectory=${WORKSPACE}
|
WorkingDirectory=${WORKDIR}
|
||||||
ExecStart=${WORKSPACE}/stat_server -c ${WORKSPACE}/config.toml
|
ExecStart=${WORKDIR}/stat_server -c ${WORKDIR}/config.toml
|
||||||
ExecReload=/bin/kill -HUP \$MAINPID
|
ExecReload=/bin/kill -HUP \$MAINPID
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
||||||
# /etc/systemd/system/stat_server.service
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue