From fd0cdba0da9d5ec8edc2372199ab859bd54e316f Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 19:49:11 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 run.sh diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..5fbaeac --- /dev/null +++ b/run.sh @@ -0,0 +1,3 @@ +kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) +nohup ./server/sergate --config=server/config.json --web-dir=$(dirname $0 | pwd)/web/ >> run.log 2>&1 & +cd .. From f96e62497f34ccb4429f6abb1af0eaba00183cee Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 19:49:52 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServerStatus1Click.sh | 93 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 ServerStatus1Click.sh diff --git a/ServerStatus1Click.sh b/ServerStatus1Click.sh new file mode 100644 index 0000000..1854d5b --- /dev/null +++ b/ServerStatus1Click.sh @@ -0,0 +1,93 @@ +#!/bin/bash +[ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; } +install_sss(){ + clear + stty erase '^H' && read -p " 服务端地址:" sserver + stty erase '^H' && read -p " 客户端username:" suser + stty erase '^H' && read -p " 客户端password:" spasswd + clear + git clone https://github.com/dovela/ServerStatus.git + rm -rf oneclick.sh + echo 'ServerStatus客户端安装完成' + cd ServerStatus/clients + sed -i -e "s/sserver/$sserver/g" client-linux.py + sed -i -e "s/suser/$suser/g" client-linux.py + sed -i -e "s/spasswd/$spasswd/g" client-linux.py + sed -i -e "s/sserver/$sserver/g" client-psutil.py + sed -i -e "s/suser/$suser/g" client-psutil.py + sed -i -e "s/spasswd/$spasswd/g" client-psutil.py + clear + echo ' ServerStatus客户端配置完成,请进行下一步' + echo ' 1. 运行 client-linux' + echo ' 2. 运行 client-psutil' + stty erase '^H' && read -p " 请输入数字 [1-2]:" num + case "$num" in + 1) + run_linux + ;; + 2) + run_psutil + ;; +esac +} + +run_linux(){ + nohup python client-linux.py >> serverstatus.log 2>&1 & + cd ../.. + echo 'ServerStatus-linux客户端已开始运行' +} + +run_psutil(){ + nohup python client-psutil.py >> serverstatus.log 2>&1 & + cd ../.. + echo 'ServerStatus-psutil客户端已开始运行' +} + +install_env(){ + clear + yum install -y git lsof + apt-get install -y git lsof + yum -y install epel-release + yum clean all + yum -y install python-pip gcc python-devel + apt-get -y install python-setuptools python-dev build-essential python-pip + pip install --upgrade + pip install psutil + clear + echo '依赖环境安装完成,请再次运行脚本' +} + +clear +echo -e " 注意:此脚本基于centos7编写,默认端口35601,出现问题请在 @dovela 处提issue +———————————— + 1.首次安装并启动 ServerStatus客户端 + 2.运行 client_linux + 3.运行 client_psutil + 4.停止运行 + 5.首次安装依赖,直接安装失败请执行 +———————————— + 输入数字开始,或ctrl + c退出 +" +echo && stty erase '^H' && read -p " 请输入数字[1-5]:" num + case "$num" in + 1) + install_sss + ;; + 2) + cd ServerStatus/clients + run_linux + ;; + 3) + cd ServerStatus/clients + run_psutil + ;; + 4) + kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) + ;; + 5) + install_env + ;; + *) + echo -e "${Error} 请输入正确的数字 [1-5]!" + ;; +esac From bab238faf2af3b09032567c923e938d256facd28 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 19:50:33 +0800 Subject: [PATCH 03/15] Update README.md --- README.md | 133 ++++++++---------------------------------------------- 1 file changed, 18 insertions(+), 115 deletions(-) diff --git a/README.md b/README.md index 807df1c..825be50 100644 --- a/README.md +++ b/README.md @@ -1,122 +1,25 @@ -# ServerStatus中文版: +# ServerStatus1Click -* ServerStatus中文版是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。 -* 在线演示:https://tz.cloudcpp.com +## 说明 +客户端源码fork自@cppla,一键脚本自制 +
ServerStatus客户端的一键安装脚本,只需输入必要数据即可全自动安装并启动,脚本只需运行一次。 +
脚本在centos7上测试通过,其他发行版未测试。 +
理论上其他版本linux也可使用,请测试通过后提issue,谢谢。 +
欢迎star、fork,本脚本不定时更新,不定时从@cppla处合并新版本ServerStatus源码。 -# 目录介绍: +## 使用教程 +```` +wget -N --no-check-certificate https://raw.githubusercontent.com/dovela/ServerStatus/master/ServerStatus1Click.sh +chmod +x ServerStatus1Click.sh +./ServerStatus1Click.sh +```` -* autodeploy 自动部署脚本 -* clients 客户端文件 -* server 服务端文件 -* web 网站文件 +## 其他 +默认远程端口35601,安装依赖选项为安装git、lsof、psutil,建议执行一次 -# 更新说明: - -* 20180626, 增加客户端自动部署脚本,代码:https://github.com/dovela/ServerStatus1Click -* 20180314, 调整前端,置默认密码为,设置ip和user即可上线       -* 20180312, 加入失联(被照顾)检测【正常:MH361, 屏蔽:MH370】,校准虚拟化(container)流量统计异常       -* 20170807, 更新平均1,5,15负载 -* 20170607, 去掉无用的IPV6信息,增加服务器总流量监控         - -# 自动部署: - -【服务端】:暂无 - -【客户端】: -```bash -wget -N --no-check-certificate https://raw.githubusercontent.com/cppla/ServerStatus/master/autodeploy/client-auto.sh -chmod +x client-auto.sh -./client-auto.sh -``` - -# 手动安装教程: - -【克隆代码】: -``` -git clone https://github.com/cppla/ServerStatus.git -``` - -【服务端配置】(服务端程序在ServerStatus/web下): - -一、生成服务端程序 -``` -cd ServerStatus/server -make -./sergate -``` -如果没错误提示,OK,ctrl+c关闭;如果有错误提示,检查35601端口是否被占用 - -二、修改配置文件 -修改config.json文件,注意username, password的值需要和客户端对应一致     -``` -{"servers": - [ - { - "username": "s01", - "name": "Mainserver 1", - "type": "Dedicated Server", - "host": "GenericServerHost123", - "location": "Austria", - "password": "some-hard-to-guess-copy-paste-password" - }, - ] -} -``` - -三、拷贝ServerStatus/status到你的网站目录 -例如: -``` -sudo cp -r ServerStatus/web/* /home/wwwroot/default -``` - -四、运行服务端: -web-dir参数为上一步设置的网站根目录,务必修改成自己网站的路径 -``` -./sergate --config=config.json --web-dir=/home/wwwroot/default -``` - -【客户端配置】(客户端程序在ServerStatus/clients下): -客户端有两个版本,client-linux为普通linux,client-psutil为跨平台版,普通版不成功,换成跨平台版即可。 - -一、client-linux版配置: -1、vim client-linux.py, 修改SERVER地址,username帐号, password密码 -2、python client-linux.py 运行即可。 - -二、client-psutil版配置: -1、安装psutil跨平台依赖库 -2、vim client-psutil.py, 修改SERVER地址,username帐号, password密码 -3、python client-psutil.py 运行即可。 -``` -### for Centos: -sudo yum -y install epel-release -sudo yum -y install python-pip -sudo yum clean all -sudo yum -y install gcc -sudo yum -y install python-devel -sudo pip install psutil -### for Ubuntu/Debian: -sudo root -apt-get -y install python-setuptools python-dev build-essential -apt-get -y install python-pip -pip install psutil -### for Windows: -打开网址:https://pypi.python.org/pypi?:action=display&name=psutil#downloads -下载psutil for windows程序包 -安装即可 -``` - -打开云探针页面,就可以正常的监控。接下来把服务器和客户端脚本自行加入开机启动,或者进程守护,或以后台方式运行即可!例如: nohup python client-linux.py & - -# 为什么会有ServerStatus中文版: - -* 有些功能确实没用 -* 原版本部署,英文说明复杂 -* 不符合中文版的习惯 -* 没有一次又一次的轮子,哪来如此优秀的云探针 - -# 相关开源项目,感谢: - -* ServerStatus:https://github.com/BotoX/ServerStatus +## 特别感谢 +* cppla's ServerStatus: https://github.com/cppla/ServerStatus +* ServerStatus: https://github.com/BotoX/ServerStatus * mojeda: https://github.com/mojeda * mojeda's ServerStatus: https://github.com/mojeda/ServerStatus * BlueVM's project: http://www.lowendtalk.com/discussion/comment/169690#Comment_169690 From ddcd7e4641f01115f5df26440d000e15c51f597f Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 19:56:53 +0800 Subject: [PATCH 04/15] Delete client-auto.sh --- autodeploy/client-auto.sh | 99 --------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 autodeploy/client-auto.sh diff --git a/autodeploy/client-auto.sh b/autodeploy/client-auto.sh deleted file mode 100644 index bc828dc..0000000 --- a/autodeploy/client-auto.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/bash -# author: https://github.com/dovela/ServerStatus1Click -# 支持操作系统:centos,debian,ubuntu,redhat 其它未测试 -# 时间: 20180626 - -[ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; } -install_sss(){ - clear - stty erase '^H' && read -p " 服务端地址:" sserver - stty erase '^H' && read -p " 客户端username:" suser - stty erase '^H' && read -p " 客户端password:" spasswd - clear - git clone https://github.com/dovela/ServerStatus.git - rm -rf oneclick.sh - echo 'ServerStatus客户端安装完成' - cd ServerStatus/clients - sed -i -e "s/sserver/$sserver/g" client-linux.py - sed -i -e "s/suser/$suser/g" client-linux.py - sed -i -e "s/spasswd/$spasswd/g" client-linux.py - sed -i -e "s/sserver/$sserver/g" client-psutil.py - sed -i -e "s/suser/$suser/g" client-psutil.py - sed -i -e "s/spasswd/$spasswd/g" client-psutil.py - clear - echo ' ServerStatus客户端配置完成,请进行下一步' - echo ' 1. 运行 client-linux' - echo ' 2. 运行 client-psutil' - stty erase '^H' && read -p " 请输入数字 [1-2]:" num - case "$num" in - 1) - run_linux - ;; - 2) - run_psutil - ;; -esac -} - -run_linux(){ - nohup python client-linux.py >> serverstatus.log 2>&1 & - cd ../.. - echo 'ServerStatus-linux客户端已开始运行' -} - -run_psutil(){ - nohup python client-psutil.py >> serverstatus.log 2>&1 & - cd ../.. - echo 'ServerStatus-psutil客户端已开始运行' -} - -install_env(){ - clear - yum install -y git lsof - apt-get install -y git lsof - yum -y install epel-release - yum clean all - yum -y install python-pip gcc python-devel - apt-get -y install python-setuptools python-dev build-essential python-pip - pip install --upgrade - pip install psutil - clear - echo '依赖环境安装完成,请再次运行脚本' -} - -clear -echo -e " 注意:此脚本基于centos7编写,默认端口35601,出现问题请在 @dovela 处提issue - -———————————— - 1.首次安装并启动 ServerStatus客户端 - 2.运行 client_linux - 3.运行 client_psutil - 4.停止运行 - 5.首次安装依赖,直接安装失败请执行 -———————————— - 输入数字开始,或ctrl + c退出 -" -echo && stty erase '^H' && read -p " 请输入数字[1-5]:" num - case "$num" in - 1) - install_sss - ;; - 2) - cd ServerStatus/clients - run_linux - ;; - 3) - cd ServerStatus/clients - run_psutil - ;; - 4) - kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) - ;; - 5) - install_env - ;; - *) - echo -e "${Error} 请输入正确的数字 [1-5]!" - ;; -esac - From d4306c7b5833900a7a4a38226715574341426380 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 20:06:20 +0800 Subject: [PATCH 05/15] Update client-linux.py --- clients/client-linux.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clients/client-linux.py b/clients/client-linux.py index 7a810c0..3449696 100755 --- a/clients/client-linux.py +++ b/clients/client-linux.py @@ -5,10 +5,10 @@ # 时间: 20180312 -SERVER = "127.0.0.1" +SERVER = "sserver" PORT = 35601 -USER = "s01" -PASSWORD = "USER_DEFAULT_PASSWORD" +USER = "suser" +PASSWORD = "spasswd" INTERVAL = 1 #更新间隔 From 3e61baa4e7a471918e03f44fceef752b352cd153 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 20:06:50 +0800 Subject: [PATCH 06/15] Update client-psutil.py --- clients/client-psutil.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clients/client-psutil.py b/clients/client-psutil.py index 6c501b2..168effc 100755 --- a/clients/client-psutil.py +++ b/clients/client-psutil.py @@ -5,10 +5,10 @@ # 支持操作系统: Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and NetBSD, both 32-bit and 64-bit architectures # 时间: 20180312 -SERVER = "127.0.0.1" +SERVER = "sserver" PORT = 35601 -USER = "s01" -PASSWORD = "USER_DEFAULT_PASSWORD" +USER = "suser" +PASSWORD = "spasswd" INTERVAL = 1 # 更新间隔 From 620f7651bc03245ae2b67238aa6da76984d25674 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 20:59:18 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E8=BF=9B=E4=B8=80=E6=AD=A5=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=8C=96=E5=92=8C=E7=B3=BB=E7=BB=9F=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServerStatus1Click.sh | 78 ++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 19 deletions(-) diff --git a/ServerStatus1Click.sh b/ServerStatus1Click.sh index 1854d5b..924238c 100644 --- a/ServerStatus1Click.sh +++ b/ServerStatus1Click.sh @@ -1,5 +1,40 @@ #!/bin/bash -[ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; } + +#================================================= +# System Required: CentOS 6+/Debian 6+/Ubuntu 14.04+ +# Description: Auto-install the ServerStatus Client +# Version: 1.0.1 +# Author: dovela +#================================================= + +check_sys(){ + if [[ -f /etc/redhat-release ]]; then + release="centos" + elif cat /etc/issue | grep -q -E -i "debian"; then + release="debian" + elif cat /etc/issue | grep -q -E -i "ubuntu"; then + release="ubuntu" + elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then + release="centos" + elif cat /proc/version | grep -q -E -i "debian"; then + release="debian" + elif cat /proc/version | grep -q -E -i "ubuntu"; then + release="ubuntu" + elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then + release="centos" + fi + bit=`uname -m` +} + +centos_yum(){ + yum install -y epel-release && yum clean all && yum update + yum install -y git lsof python-pip gcc python-devel +} + +debian_apt(){ + apt-get install -y git lsof python-setuptools python-dev build-essential python-pip +} + install_sss(){ clear stty erase '^H' && read -p " 服务端地址:" sserver @@ -21,13 +56,13 @@ install_sss(){ echo ' 1. 运行 client-linux' echo ' 2. 运行 client-psutil' stty erase '^H' && read -p " 请输入数字 [1-2]:" num - case "$num" in - 1) - run_linux - ;; - 2) - run_psutil - ;; + case "$num" in + 1) + run_linux + ;; + 2) + run_psutil + ;; esac } @@ -43,22 +78,27 @@ run_psutil(){ echo 'ServerStatus-psutil客户端已开始运行' } +stop_client(){ + kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) +} + install_env(){ clear - yum install -y git lsof - apt-get install -y git lsof - yum -y install epel-release - yum clean all - yum -y install python-pip gcc python-devel - apt-get -y install python-setuptools python-dev build-essential python-pip - pip install --upgrade - pip install psutil - clear + if [[ ${release} == "centos" ]]; then + centos_yum + else + debian_apt + fi + pip install --upgrade + pip install psutil echo '依赖环境安装完成,请再次运行脚本' } clear -echo -e " 注意:此脚本基于centos7编写,默认端口35601,出现问题请在 @dovela 处提issue +check_sys +[[ ${release} != "debian" ]] && [[ ${release} != "ubuntu" ]] && [[ ${release} != "centos" ]] && echo -e "${Error} 本脚本不支持当前系统 ${release} !" && exit 1 +[ $(id -u) != "0" ] && echo -e "Error: You must be root to run this script" && exit 1 +echo -e " 默认端口35601,出现问题请在 https://github.com/dovela/ServerStatus1Click 处提issue ———————————— 1.首次安装并启动 ServerStatus客户端 2.运行 client_linux @@ -82,7 +122,7 @@ echo && stty erase '^H' && read -p " 请输入数字[1-5]:" num run_psutil ;; 4) - kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) + stop_client ;; 5) install_env From cb18cdc13ebb740ae744ed12a0d545543a8dd4a1 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 21:02:32 +0800 Subject: [PATCH 08/15] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 825be50..8c27976 100644 --- a/README.md +++ b/README.md @@ -23,3 +23,4 @@ chmod +x ServerStatus1Click.sh * mojeda: https://github.com/mojeda * mojeda's ServerStatus: https://github.com/mojeda/ServerStatus * BlueVM's project: http://www.lowendtalk.com/discussion/comment/169690#Comment_169690 +* 参考了ToyoDAdoubi的一键脚本: https://github.com/ToyoDAdoubi/doubi From a9d58ac8e3a1615f11af2bb2563fa3a9f9c8392a Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 23:24:20 +0800 Subject: [PATCH 09/15] Update ServerStatus1Click.sh --- ServerStatus1Click.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ServerStatus1Click.sh b/ServerStatus1Click.sh index 924238c..a9238af 100644 --- a/ServerStatus1Click.sh +++ b/ServerStatus1Click.sh @@ -1,7 +1,7 @@ #!/bin/bash #================================================= -# System Required: CentOS 6+/Debian 6+/Ubuntu 14.04+ +# System Required: CentOS 6+/Debian 6+/Ubuntu 14.04+/others(test) # Description: Auto-install the ServerStatus Client # Version: 1.0.1 # Author: dovela @@ -96,7 +96,6 @@ install_env(){ clear check_sys -[[ ${release} != "debian" ]] && [[ ${release} != "ubuntu" ]] && [[ ${release} != "centos" ]] && echo -e "${Error} 本脚本不支持当前系统 ${release} !" && exit 1 [ $(id -u) != "0" ] && echo -e "Error: You must be root to run this script" && exit 1 echo -e " 默认端口35601,出现问题请在 https://github.com/dovela/ServerStatus1Click 处提issue ———————————— @@ -104,7 +103,7 @@ echo -e " 默认端口35601,出现问题请在 https://github.com/dovela/Serve 2.运行 client_linux 3.运行 client_psutil 4.停止运行 - 5.首次安装依赖,直接安装失败请执行 + 5.首次安装linux依赖,直接安装失败请执行 ———————————— 输入数字开始,或ctrl + c退出 " From c292ef075d5977c2e626d88368b93934522c2c16 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Tue, 26 Jun 2018 23:27:22 +0800 Subject: [PATCH 10/15] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c27976..9ff6a0f 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@
脚本在centos7上测试通过,其他发行版未测试。
理论上其他版本linux也可使用,请测试通过后提issue,谢谢。
欢迎star、fork,本脚本不定时更新,不定时从@cppla处合并新版本ServerStatus源码。 +
不支持window各版本 ## 使用教程 ```` From b4429203a4b16600819aa99526de5baecc67c15d Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Wed, 27 Jun 2018 00:18:13 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AB=AF=E5=8F=A3=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServerStatus1Click.sh | 44 +++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/ServerStatus1Click.sh b/ServerStatus1Click.sh index a9238af..c295c0f 100644 --- a/ServerStatus1Click.sh +++ b/ServerStatus1Click.sh @@ -3,26 +3,26 @@ #================================================= # System Required: CentOS 6+/Debian 6+/Ubuntu 14.04+/others(test) # Description: Auto-install the ServerStatus Client -# Version: 1.0.1 +# Version: 1.0.2 # Author: dovela #================================================= check_sys(){ - if [[ -f /etc/redhat-release ]]; then + if [[ -f /etc/redhat-release ]]; then release="centos" - elif cat /etc/issue | grep -q -E -i "debian"; then + elif cat /etc/issue | grep -q -E -i "debian"; then release="debian" - elif cat /etc/issue | grep -q -E -i "ubuntu"; then + elif cat /etc/issue | grep -q -E -i "ubuntu"; then release="ubuntu" - elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then + elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then release="centos" - elif cat /proc/version | grep -q -E -i "debian"; then + elif cat /proc/version | grep -q -E -i "debian"; then release="debian" - elif cat /proc/version | grep -q -E -i "ubuntu"; then + elif cat /proc/version | grep -q -E -i "ubuntu"; then release="ubuntu" - elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then + elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then release="centos" - fi + fi bit=`uname -m` } @@ -36,22 +36,26 @@ debian_apt(){ } install_sss(){ - clear + clear stty erase '^H' && read -p " 服务端地址:" sserver + stty erase '^H' && read -p " 远程端口(默认35601):" sport + [[ -z ${sport} ]] && sport="35601" stty erase '^H' && read -p " 客户端username:" suser stty erase '^H' && read -p " 客户端password:" spasswd - clear + clear git clone https://github.com/dovela/ServerStatus.git rm -rf oneclick.sh echo 'ServerStatus客户端安装完成' - cd ServerStatus/clients + cd ServerStatus/clients sed -i -e "s/sserver/$sserver/g" client-linux.py + sed -i -e "s/sport/$sport/g" client-linux.py sed -i -e "s/suser/$suser/g" client-linux.py sed -i -e "s/spasswd/$spasswd/g" client-linux.py sed -i -e "s/sserver/$sserver/g" client-psutil.py + sed -i -e "s/sport/$sport/g" client-psutil.py sed -i -e "s/suser/$suser/g" client-psutil.py sed -i -e "s/spasswd/$spasswd/g" client-psutil.py - clear + clear echo ' ServerStatus客户端配置完成,请进行下一步' echo ' 1. 运行 client-linux' echo ' 2. 运行 client-psutil' @@ -68,13 +72,13 @@ esac run_linux(){ nohup python client-linux.py >> serverstatus.log 2>&1 & - cd ../.. + cd ../.. echo 'ServerStatus-linux客户端已开始运行' } run_psutil(){ nohup python client-psutil.py >> serverstatus.log 2>&1 & - cd ../.. + cd ../.. echo 'ServerStatus-psutil客户端已开始运行' } @@ -83,18 +87,18 @@ stop_client(){ } install_env(){ - clear - if [[ ${release} == "centos" ]]; then + clear + if [[ ${release} == "centos" ]]; then centos_yum - else + else debian_apt - fi + fi pip install --upgrade pip install psutil echo '依赖环境安装完成,请再次运行脚本' } -clear + clear check_sys [ $(id -u) != "0" ] && echo -e "Error: You must be root to run this script" && exit 1 echo -e " 默认端口35601,出现问题请在 https://github.com/dovela/ServerStatus1Click 处提issue From 25adf767ac1512366d10b6898433bea4683cd97d Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Wed, 27 Jun 2018 00:18:47 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AB=AF=E5=8F=A3=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clients/client-linux.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/client-linux.py b/clients/client-linux.py index 3449696..42e98b9 100755 --- a/clients/client-linux.py +++ b/clients/client-linux.py @@ -6,7 +6,7 @@ SERVER = "sserver" -PORT = 35601 +PORT = "sport" USER = "suser" PASSWORD = "spasswd" INTERVAL = 1 #更新间隔 From e5a7b470f00db9d978ffb1b8f4d4642cd03ca787 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Wed, 27 Jun 2018 00:19:19 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AB=AF=E5=8F=A3=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clients/client-linux.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/client-linux.py b/clients/client-linux.py index 42e98b9..5b83b45 100755 --- a/clients/client-linux.py +++ b/clients/client-linux.py @@ -6,7 +6,7 @@ SERVER = "sserver" -PORT = "sport" +PORT = sport USER = "suser" PASSWORD = "spasswd" INTERVAL = 1 #更新间隔 From a95b36038b926ea486417b8c63187d45caf74a26 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Wed, 27 Jun 2018 00:19:37 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AB=AF=E5=8F=A3=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clients/client-psutil.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/client-psutil.py b/clients/client-psutil.py index 168effc..393aa17 100755 --- a/clients/client-psutil.py +++ b/clients/client-psutil.py @@ -6,7 +6,7 @@ # 时间: 20180312 SERVER = "sserver" -PORT = 35601 +PORT = sport USER = "suser" PASSWORD = "spasswd" INTERVAL = 1 # 更新间隔 From 04c12146dd5552b781afd9db4ab7f6d83e2f4391 Mon Sep 17 00:00:00 2001 From: dovela <33590269+dovela@users.noreply.github.com> Date: Wed, 27 Jun 2018 00:32:40 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AB=AF=E5=8F=A3=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8D=B8=E8=BD=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServerStatus1Click.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ServerStatus1Click.sh b/ServerStatus1Click.sh index c295c0f..3a73ea0 100644 --- a/ServerStatus1Click.sh +++ b/ServerStatus1Click.sh @@ -70,6 +70,11 @@ install_sss(){ esac } +delete_sss(){ + kill -9 $(lsof -i:35601 |awk '{print $2}' | tail -n 1) + rm -rf ServerStatus +} + run_linux(){ nohup python client-linux.py >> serverstatus.log 2>&1 & cd ../.. @@ -108,10 +113,11 @@ echo -e " 默认端口35601,出现问题请在 https://github.com/dovela/Serve 3.运行 client_psutil 4.停止运行 5.首次安装linux依赖,直接安装失败请执行 + 6.卸载ServerStatus ———————————— 输入数字开始,或ctrl + c退出 " -echo && stty erase '^H' && read -p " 请输入数字[1-5]:" num +echo && stty erase '^H' && read -p " 请输入数字[1-6]:" num case "$num" in 1) install_sss @@ -130,6 +136,9 @@ echo && stty erase '^H' && read -p " 请输入数字[1-5]:" num 5) install_env ;; + 6) + delete_sss + ;; *) echo -e "${Error} 请输入正确的数字 [1-5]!" ;;