6 февраля 2013 г.

SMS service

Сегодня дошли руки написать скрипт, который пингует хост и уведомляет о изменении статуса отсутствия пингов.

#!/bin/sh
IP="90.188.77.77"
NAME="Server_#1"
API_ID="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
TO="7XXXXXXXXX"
FROM="Overlink"

send_sms(){
    TEXT="($IP)__$STATUS"
    wget "http://sms.ru/sms/send?api_id=$API_ID&to=$TO&text=$TEXT" > /dev/null 2>&1
}

cmd=`ping -c 5 $IP | grep from | wc -l | awk '{print $1}'`
check_file=`ls /tmp/$NAME | wc -l`

if [ $check_file -eq "0" ]; then
    echo "First run..."
    echo First_run! > /tmp/$NAME
fi

check_status=`cat /tmp/$NAME`

if [ $cmd -lt "3" ]; then
    STATUS="Error"
    if [ $check_status = "Ok" ]; then
    send_sms
    fi
    echo $STATUS > /tmp/$NAME
else
    STATUS="Ok"
    if [ $check_status = "Error" ]; then
    send_sms
    fi
    echo $STATUS > /tmp/$NAME
fi

exit 0