Updated vhost{1, 2}.in (temperature script modifications).
authorZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Mon, 12 Apr 2021 10:46:38 +0000 (12:46 +0200)
committerZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Mon, 12 Apr 2021 10:46:38 +0000 (12:46 +0200)
sources/vhost1.in/root/temperature.cfg
sources/vhost1.in/root/temperature.sh
sources/vhost2.in/root/temperature.cfg
sources/vhost2.in/root/temperature.sh

index 3742506b5a8260fae3ee97b8b80ae720a7f0b9ce..ffbc8b028584a2d3735ed10a7ae369c25dd70deb 100644 (file)
@@ -1,12 +1,16 @@
 MODEM_IP="192.168.8.1"
 
+#                  zfelleg        csgulyas       fschnell       rrendek        mszabo
+HEARTBEAT_PHONES=("+36209541513" "+36303744065" "+36309502529" "+36309775888" "+36704581234")
+NUMBER_OF_HEARTBEAT_PHONES=5
+
 #        zfelleg        fschnell       rrendek        mszabo
 PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
 NUMBER_OF_PHONES=4
 
-#                  zfelleg        csgulyas       fschnell       rrendek        mszabo
-HEARTBEAT_PHONES=("+36209541513" "+36303744065" "+36309502529" "+36309775888" "+36704581234")
-NUMBER_OF_HEARTBEAT_PHONES=5
+#             zfelleg
+TEST_PHONES=("+36209541513")
+NUMBER_OF_TEST_PHONES=1
 
 WARNING_THRESHOLD=25
 ERROR_THRESHOLD=30
index b4e99d99f36b3f23f0e0486cb4d3f76767f8e297..2759e1bc04d622991c31fcc62fb060ef194adcfd 100755 (executable)
@@ -162,9 +162,12 @@ process_received_smses() {
          --silent \
          --data "<?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>" \
          http://$MODEM_IP/api/sms/sms-list \
-         | grep -i '<Content>Stop</Content>' \
+        > /tmp/received_smses.txt
+    grep -i '<Content>Stop</Content>' /tmp/received_smses.txt \
          | while read LINE
     do
+        echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+        echo "${STR_DATE}: process_received_smses" >>/var/log/temperature-script-${PRG_DATE}.log
         touch $SCRIPT_STOP
     done
 }
@@ -243,24 +246,114 @@ send_sms() {
          http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
 }
 
+send_stop_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+    PRG_DATE=$(date +%Y%m%d)
+    STR_DATE=$(date)
+
+
+    RECEIVED_SMS_COUNT=$(grep '<Count>' /tmp/received_smses.txt \
+                             | sed 's|^ *<Count>\([0-9]*\)</Count> *$|\1|')
+    if [ $RECEIVED_SMS_COUNT -lt 1 ]
+    then
+        rm -f /tmp/received_smses.txt
+       return
+    fi
+    STOP_NUMBER=$(grep '<Phone>' /tmp/received_smses.txt \
+                      | sed 's/.*<Phone>\(.*\)<\/Phone>.*$/\1/')
+    if [ -f $SCRIPT_STOP ]
+    then
+        SEND_STATUS="does NOT"
+    else
+        SEND_STATUS="DOES"
+    fi
+    MESSAGE="Stopped by ${STOP_NUMBER}, ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, the system $SEND_STATUS send SMSs."
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --output /tmp/ses_tok.xml \
+         --request GET \
+         --silent \
+         "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "${STR_DATE}: send_stop_sms" >>/var/log/temperature-script-${PRG_DATE}.log
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+         --request POST \
+         --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
+}
+
+send_test_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+    PRG_DATE=$(date +%Y%m%d)
+    STR_DATE=$(date)
+
+
+    if [ -f $SCRIPT_STOP ]
+    then
+        SEND_STATUS="does NOT"
+    else
+        SEND_STATUS="DOES"
+    fi
+    MESSAGE="Test ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, the system $SEND_STATUS send SMSs."
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_TEST_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${TEST_PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --output /tmp/ses_tok.xml \
+         --request GET \
+         --silent \
+         "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "${STR_DATE}: send_test_sms" >>/var/log/temperature-script-${PRG_DATE}.log
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+         --request POST \
+         --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
+}
+
 shutdown_hosts() {
     SEVERITY=$1
 
-    echo "shutting down hosts at $SEVERITY"
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "shutting down hosts at $SEVERITY" >>/var/log/temperature-script-${PRG_DATE}.log
     if [ $SEVERITY -le 1 ]
     then
-        echo "shutting down store.in.useribm.hu"
+        echo "shutting down store.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 store.in.useribm.hu poweroff
-        echo "shutting down tsm.in.useribm.hu"
+        echo "shutting down tsm.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 tsm.in.useribm.hu poweroff
     fi
     if [ $SEVERITY -gt 1 ]
     then
-        echo "shutting down aiac922.in.useribm.hu"
+        echo "shutting down aiac922.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 aiac922.in.useribm.hu poweroff
-        echo "shutting down store.in.useribm.hu"
+        echo "shutting down store.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 store.in.useribm.hu poweroff
-        echo "shutting down tsm.in.useribm.hu"
+        echo "shutting down tsm.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 tsm.in.useribm.hu poweroff
     fi
 }
@@ -291,9 +384,9 @@ then
     SEVERITY=3
 fi
 
-if [ "$1" == "heartbeat" ]
+if [ "$1" == "test" ]
 then
-    send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
+    send_test_sms $MESSAGE_TYPE $TEMPERATURE
     exit 0
 fi
 
@@ -344,5 +437,6 @@ fi
 delete_logs
 delete_mail
 process_received_smses
+send_stop_sms $MESSAGE_TYPE $TEMPERATURE
 delete_received_smses
 delete_sent_smses
index 3742506b5a8260fae3ee97b8b80ae720a7f0b9ce..ffbc8b028584a2d3735ed10a7ae369c25dd70deb 100644 (file)
@@ -1,12 +1,16 @@
 MODEM_IP="192.168.8.1"
 
+#                  zfelleg        csgulyas       fschnell       rrendek        mszabo
+HEARTBEAT_PHONES=("+36209541513" "+36303744065" "+36309502529" "+36309775888" "+36704581234")
+NUMBER_OF_HEARTBEAT_PHONES=5
+
 #        zfelleg        fschnell       rrendek        mszabo
 PHONES=("+36209541513" "+36309502529" "+36309775888" "+36704581234")
 NUMBER_OF_PHONES=4
 
-#                  zfelleg        csgulyas       fschnell       rrendek        mszabo
-HEARTBEAT_PHONES=("+36209541513" "+36303744065" "+36309502529" "+36309775888" "+36704581234")
-NUMBER_OF_HEARTBEAT_PHONES=5
+#             zfelleg
+TEST_PHONES=("+36209541513")
+NUMBER_OF_TEST_PHONES=1
 
 WARNING_THRESHOLD=25
 ERROR_THRESHOLD=30
index b4e99d99f36b3f23f0e0486cb4d3f76767f8e297..2759e1bc04d622991c31fcc62fb060ef194adcfd 100755 (executable)
@@ -162,9 +162,12 @@ process_received_smses() {
          --silent \
          --data "<?xml version='1.0' encoding='UTF-8'?><request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>" \
          http://$MODEM_IP/api/sms/sms-list \
-         | grep -i '<Content>Stop</Content>' \
+        > /tmp/received_smses.txt
+    grep -i '<Content>Stop</Content>' /tmp/received_smses.txt \
          | while read LINE
     do
+        echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+        echo "${STR_DATE}: process_received_smses" >>/var/log/temperature-script-${PRG_DATE}.log
         touch $SCRIPT_STOP
     done
 }
@@ -243,24 +246,114 @@ send_sms() {
          http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
 }
 
+send_stop_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+    PRG_DATE=$(date +%Y%m%d)
+    STR_DATE=$(date)
+
+
+    RECEIVED_SMS_COUNT=$(grep '<Count>' /tmp/received_smses.txt \
+                             | sed 's|^ *<Count>\([0-9]*\)</Count> *$|\1|')
+    if [ $RECEIVED_SMS_COUNT -lt 1 ]
+    then
+        rm -f /tmp/received_smses.txt
+       return
+    fi
+    STOP_NUMBER=$(grep '<Phone>' /tmp/received_smses.txt \
+                      | sed 's/.*<Phone>\(.*\)<\/Phone>.*$/\1/')
+    if [ -f $SCRIPT_STOP ]
+    then
+        SEND_STATUS="does NOT"
+    else
+        SEND_STATUS="DOES"
+    fi
+    MESSAGE="Stopped by ${STOP_NUMBER}, ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, the system $SEND_STATUS send SMSs."
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --output /tmp/ses_tok.xml \
+         --request GET \
+         --silent \
+         "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "${STR_DATE}: send_stop_sms" >>/var/log/temperature-script-${PRG_DATE}.log
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+         --request POST \
+         --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
+}
+
+send_test_sms() {
+    MESSAGE_TYPE=$1
+    TEMPERATURE=$2
+    PRG_DATE=$(date +%Y%m%d)
+    STR_DATE=$(date)
+
+
+    if [ -f $SCRIPT_STOP ]
+    then
+        SEND_STATUS="does NOT"
+    else
+        SEND_STATUS="DOES"
+    fi
+    MESSAGE="Test ${MESSAGE_TYPE}: temperature is ${TEMPERATURE}, the system $SEND_STATUS send SMSs."
+    SMS_TARGETS=""
+    i=0
+    while [ $i -lt $NUMBER_OF_TEST_PHONES ]
+    do
+        SMS_TARGETS="${SMS_TARGETS}<Phone>${TEST_PHONES[$i]}</Phone>"
+        i=$(( $i + 1 ))
+    done
+
+    curl --output /tmp/ses_tok.xml \
+         --request GET \
+         --silent \
+         "http://$MODEM_IP/api/webserver/SesTokInfo"
+
+    SESSION_ID=$(sed 's|^.*<SesInfo>\(.*\)</SesInfo>.*$|\1|' </tmp/ses_tok.xml)
+    TOKEN=$(sed 's|^.*<TokInfo>\(.*\)</TokInfo>.*$|\1|' </tmp/ses_tok.xml)
+
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "${STR_DATE}: send_test_sms" >>/var/log/temperature-script-${PRG_DATE}.log
+    curl --header "Cookie: $SESSION_ID" \
+         --header "__RequestVerificationToken: $TOKEN" \
+         --request POST \
+         --silent \
+         --data "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones>${SMS_TARGETS}</Phones><Sca></Sca><Content>${MESSAGE}</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" \
+         http://$MODEM_IP/api/sms/send-sms >>/var/log/temperature-script-${PRG_DATE}.log
+}
+
 shutdown_hosts() {
     SEVERITY=$1
 
-    echo "shutting down hosts at $SEVERITY"
+    echo "----------------" >>/var/log/temperature-script-${PRG_DATE}.log
+    echo "shutting down hosts at $SEVERITY" >>/var/log/temperature-script-${PRG_DATE}.log
     if [ $SEVERITY -le 1 ]
     then
-        echo "shutting down store.in.useribm.hu"
+        echo "shutting down store.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 store.in.useribm.hu poweroff
-        echo "shutting down tsm.in.useribm.hu"
+        echo "shutting down tsm.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 tsm.in.useribm.hu poweroff
     fi
     if [ $SEVERITY -gt 1 ]
     then
-        echo "shutting down aiac922.in.useribm.hu"
+        echo "shutting down aiac922.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 aiac922.in.useribm.hu poweroff
-        echo "shutting down store.in.useribm.hu"
+        echo "shutting down store.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 store.in.useribm.hu poweroff
-        echo "shutting down tsm.in.useribm.hu"
+        echo "shutting down tsm.in.useribm.hu" >>/var/log/temperature-script-${PRG_DATE}.log
        ssh -i $SSH_KEYS_PATH/scripts -l root -o ConnectTimeout=1 tsm.in.useribm.hu poweroff
     fi
 }
@@ -291,9 +384,9 @@ then
     SEVERITY=3
 fi
 
-if [ "$1" == "heartbeat" ]
+if [ "$1" == "test" ]
 then
-    send_heartbeat_sms $MESSAGE_TYPE $TEMPERATURE
+    send_test_sms $MESSAGE_TYPE $TEMPERATURE
     exit 0
 fi
 
@@ -344,5 +437,6 @@ fi
 delete_logs
 delete_mail
 process_received_smses
+send_stop_sms $MESSAGE_TYPE $TEMPERATURE
 delete_received_smses
 delete_sent_smses