shell脚本-监控网络情况

前端之家收集整理的这篇文章主要介绍了shell脚本-监控网络情况前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. #!/bin/bash
  2. #-------------------------------------------------------------------------------
  3. #FileName:networkchecking
  4. #Revision:2.0
  5. #Date:2017/09/14
  6. #Author:XAD
  7. #Email:1793360097@qq.com
  8. #Website:http://onenice.blog.51cto.com/
  9. #Description:checknetworkandsendmailtoXAD,wirteexecutinglog
  10. #Notes:~
  11. #-------------------------------------------------------------------------------
  12. #Copyright:2017(c)XAD
  13. #License:GPL
  14.  
  15. DOMAIN1=www.baidu.com
  16. DOMAIN2=www.google.com
  17. DATE=`date"+%F%H:%M:%S"`
  18. HOST=`hostname`
  19. IPADDRESS=`ifconfigeth0|grep"inetaddr:"|awk-F[:""]+'{print$4}'`
  20.  
  21. ##打印成功日志##
  22. log_info()
  23. {
  24. if[!-x/var/log/$0];then
  25. mkdir/var/log/$0
  26. fi
  27. echo"$DATE$HOST$IPADDRESS$USERexecute$0>>$1">>/var/log/$0/success.log
  28. }
  29.  
  30. ##打印错误日志##
  31. log_error()
  32. {
  33. if[!-x/var/log/$0];then
  34. mkdir/var/log/$0
  35. fi
  36. echo"$DATE$HOST$IPADDRESS$USERexecute$0>>$1">>/var/log/$0/error.log
  37. }
  38.  
  39. ##检测网络是否通畅##
  40. check_network()
  41. {
  42. ping-c2$DOMAIN1>/dev/null
  43. pingstatus1=$?
  44. echo-n$pingstatus1>/tmp/netwok-status
  45. if[$pingstatus1-eq0];then
  46. log_info"Networkto$DOMAIN1isok"
  47. else
  48. log_error"Networkto$DOMAIN1iserror"
  49. fi
  50.  
  51. ping-c2$DOMAIN2>/dev/null
  52. pingstatus2=$?
  53. echo-n$pingstatus2>>/tmp/netwok-status
  54. if[$pingstatus2-eq0];then
  55. log_info"Networkto$DOMAIN2isok"
  56. else
  57. log_error"Networkto$DOMAIN2iserror"
  58. fi
  59. }
  60.  
  61. ##发送警报邮件输出发送日志##
  62. sendmail()
  63. {
  64. STATUS=`cat/tmp/netwok-status`
  65. if["$STATUS"-eq11];then
  66. echo"TIME:$DATEHOSTNAME:$HOSTIP:$IPADDRESSNetworkisnormal!"|mail-s"Pleasecheckyournetworknow!"1793360097@qq.com
  67. if[$?-eq0];then
  68. echo"$DATE$HOST$IPADDRESS$USER>>sendmailisok!">>/var/log/$0/sendmail.log
  69. else
  70. echo"$DATE$HOST$IPADDRESS$USER>>sendmailiserror!">>/var/log/$0/sendmail.log
  71. fi
  72. fi
  73. }
  74.  
  75. check_network
  76. sendmail

猜你在找的Bash相关文章