check_tmate.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/sh
  2. interval_polling_second=60
  3. interval_restart_minute=30
  4. while :
  5. do
  6. DATE=`date +%Y-%m-%d_%H:%M:%S`
  7. ppid=`pgrep -f "tmate -S /tmp/tmate.sock new-session -d"`
  8. if [ $ppid > 0 ]; then
  9. minute="$(date +%M)"
  10. if [ $(($minute % $interval_restart_minute)) == 0 ]; then
  11. echo [ $DATE ] "pkill tmate..." >> /Storage/SystemLog/check_tmate.log
  12. `/usr/bin/pkill tmate`
  13. else
  14. echo [ $DATE ] "tmate already running..." >> /Storage/SystemLog/check_tmate.log
  15. fi
  16. else
  17. addr=`/usr/bin/run_tmate.sh`
  18. id=CSU3_$(cat /sys/class/net/eth0/address)
  19. `/usr/bin/timeout -t 10 /usr/bin/wget --spider folus.no-ip.org:8090/tmate_update.php?chargerID=$id\&tmateAddr=${addr:4}`
  20. if [ $? -eq 0 ]; then
  21. echo [ $DATE ] $addr >> /Storage/SystemLog/check_tmate.log
  22. else
  23. echo [ $DATE ] "tmate start fail..." >> /Storage/SystemLog/check_tmate.log
  24. `/usr/bin/pkill tmate`
  25. fi
  26. fi
  27. sleep $interval_polling_second
  28. done