#!/usr/bin/env bash #=================================================================# # System Required: CentOS, Debian, Ubuntu # # Description: Check Shadowsocks Server is running or not # # Author: Teddysun # # Visit: https://shadowsocks.be/6.html # #=================================================================# name=(Shadowsocks Shadowsocks-Python ShadowsocksR Shadowsocks-Go Shadowsocks-libev) path=/var/log [[ ! -d ${path} ]] && mkdir -p ${path} log=${path}/shadowsocks-crond.log shadowsocks_init[0]=/etc/init.d/shadowsocks shadowsocks_init[1]=/etc/init.d/shadowsocks-python shadowsocks_init[2]=/etc/init.d/shadowsocks-r shadowsocks_init[3]=/etc/init.d/shadowsocks-go shadowsocks_init[4]=/etc/init.d/shadowsocks-libev i=0 for init in ${shadowsocks_init[@]}; do pid="" if [ -f ${init} ]; then ss_status=`${init} status` if [ $? -eq 0 ]; then pid=`echo $ss_status | sed 's/[^0-9]*//g'` fi if [ -z ${pid} ]; then echo "`date +"%Y-%m-%d %H:%M:%S"` ${name[$i]} is not running" >> ${log} echo "`date +"%Y-%m-%d %H:%M:%S"` Starting ${name[$i]}" >> ${log} ${init} start &>/dev/null if [ $? -eq 0 ]; then echo "`date +"%Y-%m-%d %H:%M:%S"` ${name[$i]} start success" >> ${log} else echo "`date +"%Y-%m-%d %H:%M:%S"` ${name[$i]} start failed" >> ${log} fi else echo "`date +"%Y-%m-%d %H:%M:%S"` ${name[$i]} is running with pid $pid" >> ${log} fi fi ((i++)) done