Guest User

Untitled

a guest
Sep 14th, 2017
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.54 KB | None | 0 0
  1.     #!/bin/bash
  2.  
  3.  
  4. function monitor {
  5. echo "Monitoring another cam..."
  6. clear
  7. umount /mnt/videoserver
  8. mount -t cifs -o credentials=/var/smbcred //$SERVIP /mnt/videoserver
  9. echo "Stato del mount:"
  10. echo $(cat /proc/mounts | grep videoserver | tail -1 | awk '{print $1 " on " $2}')
  11. echo ""
  12. ALERTPATH=/home/alerts/$CAMERANAME.alert
  13. echo "Listing that dir..."
  14. ls "/mnt/videoserver/"
  15. echo "Now cd in that dir..."
  16. cd "/mnt/videoserver/"
  17. echo ""
  18. echo "Going in.."
  19. cd $(find . -maxdepth 1 -not -name '.*' -and -not -name '9*' -and -not -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")
  20. pwd
  21. cd $(find . -maxdepth 1 -not -name '.*' -and -not -name '9*' -and -not -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")
  22. pwd
  23. #cd $(find . -maxdepth 1 -not -name '.*' -and -not -name '9*' -and -not -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")
  24. #echo ""
  25. echo "I'm in $(pwd) , ready to check"
  26. LASTMODTIME=$(stat -c %y $(pwd))
  27. echo "Folder last mod on: $LASTMODTIME"
  28. echo ""
  29.  
  30. echo "||||||||||||||||||||"
  31. echo "Camera: $CAMERANAME"
  32. echo "Path: /mnt/videoserver/"
  33. echo "On: //$SERVIP"
  34. echo "Logfile: $ALERTPATH"
  35. echo ""
  36. echo "======="
  37. echo ""
  38. echo "Check if it is up..."
  39. ping -c 5 -i 0.2 $CAMIP > /dev/null 2>&1
  40. if [ $? -ne 0 ]
  41. then
  42.         cat /dev/null > $ALERTPATH
  43.         echo "Argh, camera looks down! Retrying..."
  44.         ping -c 5 -i 0.2 $CAMIP > /dev/null 2>&1
  45.         if [ $? -ne 0 ]
  46.         then
  47.         echo "It's really down!"
  48.         echo "pingerr: camera did not answer" >> $ALERTPATH
  49.         else
  50.         cat /dev/null > $ALERTPATH
  51.         echo "Yup! It's working!"
  52.         echo "ok: camera answered" >> $ALERTPATH
  53.         fi
  54. else
  55.         cat /dev/null > $ALERTPATH
  56.         echo "Yup! It's working!"
  57.         echo "ok: camera answered" >> $ALERTPATH
  58. fi
  59.  
  60. echo ""
  61.  
  62. LASTOFUS=$(find . -type f -name "*.jpg" -mmin -2 -not -name ".*" -and -not -type d -and -not -name "INFO*" -exec ls -ltr {} + | tail -1 | awk '{print $9}')
  63. echo "Last modified file: $LASTOFUS"
  64. stat -c %y $LASTOFUS
  65.  
  66. #UTIME=$(stat -c %y $LASTOFUS | awk '{print $2}')
  67. #IFS=: read H M SMS <<<"${UTIME##*-}"
  68. #MYTIME=$H$M
  69. #echo "Timestamp:"
  70. #echo $MYTIME
  71. #echo "Local timestamp:"
  72. #ULOCALTIME=$(date | awk '{print $5}')
  73. #IFS=. read H M S <<<"${ULOCALTIME##*-}"
  74. #MYLOCALTIME=$H$M
  75. #echo $MYLOCALTIME
  76. #echo ""
  77. echo "Courtesy Time: "
  78. date
  79. echo ""
  80. echo "===="
  81. echo ""
  82.  
  83. #DIFF=$(expr $MYLOCALTIME - $MYTIME)
  84. #       echo "Difference:"
  85. #       echo $DIFF
  86. #       echo ""
  87.         echo "So $CAMERANAME status is..."
  88.         if [[ -z "${LASTOFUS// }" ]]
  89. #       if [[ $DIFF -ge 2 ]] || [[ $DIFF -le -1 ]]
  90.                 then
  91.                 if [[ $DISPLACED -ge 1 ]]
  92.                 then
  93.                         echo "NOREC"
  94.                         echo "recerror: camera is not recording!" >> $ALERTPATH
  95.                         DISPLACED=0
  96.                         echo "$CAMERANAME reported NOT recording ($LASTOFUS timestamp is $MYTIME) at $(date)" >> /root/errors.log
  97.                         sleep 5
  98.                 else
  99.                         echo "BAD sign, no recent files?"
  100.                         echo "Checking again in 30 secs..."
  101.                         sleep 30
  102.                         DISPLACED=1
  103.                         cd
  104.                         umount /mnt/videoserver
  105.                         monitor
  106.                 fi
  107.         else
  108.                 DISPLACED=0
  109.                 echo "ok: camera is recording!" >> $ALERTPATH
  110.                 echo "REC"
  111.         fi
  112.  
  113. cd
  114. sleep 1
  115.  
  116. umount /mnt/videoserver
  117.  
  118. sleep 1
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment