Add server status script
This commit is contained in:
parent
896e6b52ea
commit
6791385c2a
2 changed files with 77 additions and 0 deletions
48
i3/blocks/serverStatus
Executable file
48
i3/blocks/serverStatus
Executable file
|
@ -0,0 +1,48 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
|
||||
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
source $SCRIPTPATH/servers.private
|
||||
|
||||
checkAllSites(){
|
||||
eval server=( \${$1[@]} )
|
||||
for site in ${server[@]}; do
|
||||
printf "%-35s | %s \n" "$site" "$(checkURL $site)"
|
||||
done
|
||||
}
|
||||
|
||||
# This function takes 1 parameter, the name of an array in which to check a random URL
|
||||
checkRandomSite(){
|
||||
#The server variable will be equal to whichever server array we are looking at
|
||||
eval server=( \${$1[@]} )
|
||||
random=$(( ( RANDOM % (${#server[@]} - 1) ) + 1 ))
|
||||
urlToCheck=${server[$random]}
|
||||
echo $urlToCheck
|
||||
echo $(checkURL $urlToCheck)
|
||||
}
|
||||
|
||||
checkURL(){
|
||||
responce=$(curl -s --head -w %{http_code} $1 -L -o /dev/null --connect-timeout 60)
|
||||
echo $responce
|
||||
}
|
||||
|
||||
if [ ! -z "$1" ]; then
|
||||
if [ -z "$2" ]; then
|
||||
checked=$(eval checkRandomSite $1)
|
||||
checked=(${checked// / })
|
||||
#echo ${checked[0]}
|
||||
#echo ${checked[1]}
|
||||
echo $1
|
||||
echo ""
|
||||
if [ "${checked[1]}" = "200" ]; then
|
||||
echo "#00FF00"
|
||||
else
|
||||
echo "#FF8000"
|
||||
fi
|
||||
elif [ "$2" = "all" ]; then
|
||||
checkAllSites $1
|
||||
fi
|
||||
else
|
||||
echo Please specify a server name
|
||||
fi
|
|
@ -39,6 +39,35 @@ instance=CAPS
|
|||
interval=once
|
||||
signal=11
|
||||
|
||||
[vps01status]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus VPS01
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[vps02status]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus VPS02
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[vps03status]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus VPS03
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[freightlinerstatus]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus Freightliner
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[nhsstatus]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus NHS
|
||||
interval=30
|
||||
separator=false
|
||||
|
||||
[vapourtecstatus]
|
||||
command=~/.dotfiles/i3/blocks/serverStatus Vapourtec
|
||||
interval=30
|
||||
|
||||
[apachestatus]
|
||||
command=~/.dotfiles/i3/blocks/apache
|
||||
interval=5
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue