短息监控bat

 

  
  
  
  
  1. // Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov. 
  2. // Jad home page: http://kpdus.tripod.com/jad.html 
  3. // Decompiler options: packimports(3) fieldsfirst ansi space  
  4. // Source File Name:   Monitor.java 
  5.  
  6. package com.gsteel; 
  7.  
  8. import java.awt.Toolkit; 
  9. import java.io.*; 
  10. import java.net.URL; 
  11. import java.net.URLConnection; 
  12. import java.util.*; 
  13.  
  14. public class Monitor 
  15.  
  16.     static int timeOut = 3000
  17.     private static final String path = "com/gsteel/settings.properties"
  18.     private static PrintWriter log; 
  19.     private static String ipstest[]; 
  20.     private static String mobilestest[]; 
  21.     private static Map ipresult = new HashMap(); 
  22.  
  23.     public Monitor() 
  24.     { 
  25.     } 
  26.  
  27.     public static void main(String args[]) 
  28.     { 
  29.         Properties dbProps = new Properties(); 
  30.         String logFile = "C://ServerMonitor.log"
  31.         try 
  32.         { 
  33.             log = new PrintWriter(new FileWriter(logFile, true), true); 
  34.         } 
  35.         catch (IOException e) 
  36.         { 
  37.             System.err.println((new StringBuilder("无法打开日志文件: ")).append(logFile).toString()); 
  38.             log = new PrintWriter(System.err); 
  39.         } 
  40.         java.io.InputStream is = com/gsteel/Monitor.getClassLoader().getResourceAsStream("com/gsteel/settings.properties"); 
  41.         try 
  42.         { 
  43.             dbProps.load(is); 
  44.         } 
  45.         catch (Exception e) 
  46.         { 
  47.             System.err.println("不能读取属性文件. 请确保settings.properties在CLASSPATH指定的路径中"); 
  48.             log("不能读取属性文件请确保settings.properties在CLASSPATH指定的路径中"); 
  49.             return; 
  50.         } 
  51.         String ips = dbProps.getProperty("ip", "222.73.38.236"); 
  52.         String mobiles = dbProps.getProperty("mobile", "18978819181"); 
  53.         ipsipstest = ips.split(";"); 
  54.         mobilesmobilestest = mobiles.split(";"); 
  55.         try 
  56.         { 
  57.             do 
  58.             { 
  59.                 for (int i = 0; i < ipstest.length; i++) 
  60.                 { 
  61.                     boolean status = pingServer(ipstest[i], timeOut); 
  62.                     if (!status) 
  63.                     { 
  64.                         Thread.sleep(800L); 
  65.                         boolean restatus = pingServer(ipstest[i], timeOut); 
  66.                         if (!restatus) 
  67.                         { 
  68.                             Thread.sleep(800L); 
  69.                             if (!pingServer(ipstest[i], timeOut)) 
  70.                             { 
  71.                                 alert(); 
  72.                                 sendMessage(mobilestest, (new StringBuilder(String.valueOf(ipstest[i]))).append("运行异常,请及时处理").toString()); 
  73.                                 log((new StringBuilder(String.valueOf(ipstest[i]))).append("异常,短信已发送!").toString()); 
  74.                             } 
  75.                         } 
  76.                     } else 
  77.                     { 
  78.                         log((new StringBuilder(String.valueOf(ipstest[i]))).append("运行正常!").toString()); 
  79.                     } 
  80.                     Thread.sleep(3100L); 
  81.                 } 
  82.  
  83.                 Thread.sleep(6000L); 
  84.             } while (true); 
  85.         } 
  86.         catch (InterruptedException e) 
  87.         { 
  88.             e.printStackTrace(); 
  89.         } 
  90.     } 
  91.  
  92.     public static void init() 
  93.     { 
  94.     } 
  95.  
  96.     public static boolean pingServer(String ip, int timeout) 
  97.     { 
  98.         Runtime r; 
  99.         String pingCommand; 
  100.         BufferedReader in = null
  101.         r = Runtime.getRuntime(); 
  102.         pingCommand = (new StringBuilder("ping ")).append(ip).append(" -w ").append(timeout).toString(); 
  103.         Process p; 
  104.         Object count; 
  105.         p = r.exec(pingCommand); 
  106.         if (p != null) 
  107.             break MISSING_BLOCK_LABEL_159; 
  108.         System.out.println((new StringBuilder(String.valueOf(ip))).append("运行异常!!! null").toString()); 
  109.         count = ipresult.get(ip); 
  110.         if (count != null) 
  111.             break MISSING_BLOCK_LABEL_103; 
  112.         ipresult.put(ip, Integer.valueOf(1)); 
  113.         return false; 
  114.         if (Integer.valueOf(count.toString()).intValue() < 2
  115.             break MISSING_BLOCK_LABEL_131; 
  116.         System.out.println(count.toString()); 
  117.         return true; 
  118.         BufferedReader in; 
  119.         String line; 
  120.         try 
  121.         { 
  122.             ipresult.put(ip, Integer.valueOf(Integer.valueOf(count.toString()).intValue() + 1)); 
  123.         } 
  124.         catch (Exception ex) 
  125.         { 
  126.             System.out.println((new StringBuilder(String.valueOf(ip))).append("运行异常!!!Exception").toString()); 
  127.             return false; 
  128.         } 
  129.         return false; 
  130.         in = new BufferedReader(new InputStreamReader(p.getInputStream())); 
  131.         line = null
  132.           goto _L1 
  133. _L4: 
  134.         if (!line.startsWith("Reply from")) goto _L1; else goto _L2 
  135. _L2: 
  136.         System.out.println((new StringBuilder(String.valueOf(ip))).append("运行正常!!!").toString()); 
  137.         ipresult.remove(ip); 
  138.         log((new StringBuilder(String.valueOf(ip))).append("运行正常!!!").toString()); 
  139.         return true; 
  140. _L1: 
  141.         if ((line = in.readLine()) != null) goto _L4; else goto _L3 
  142. _L3: 
  143.         in.close(); 
  144.         Object count = ipresult.get(ip); 
  145.         if (count == null) 
  146.         { 
  147.             ipresult.put(ip, Integer.valueOf(1)); 
  148.             return false; 
  149.         } 
  150.         if (Integer.valueOf(count.toString()).intValue() >= 2) 
  151.         { 
  152.             return false; 
  153.         } else 
  154.         { 
  155.             ipresult.put(ip, Integer.valueOf(Integer.valueOf(count.toString()).intValue() + 1)); 
  156.             return false; 
  157.         } 
  158.     } 
  159.  
  160.     public static String sendMessage(String mobile[], String content) 
  161.     { 
  162.         String result = ""
  163.         String mobiles = ""
  164.         try 
  165.         { 
  166.             for (int i = 0; i < mobile.length - 1; i++) 
  167.                 mobiles = (new StringBuilder(String.valueOf(mobiles))).append(mobile[i]).append(",").toString(); 
  168.  
  169.             mobiles = (new StringBuilder(String.valueOf(mobiles))).append(mobile[mobile.length - 1]).toString(); 
  170.             String urlName = (new StringBuilder("http://211.157.113.148:8060/z_send.aspx?sn=SDK-WSS-010-01070&pwd=995162&mobile=")).append(mobiles).append("&").append("content=").append(content).toString(); 
  171.             System.out.println(urlName); 
  172.             URL U = new URL(urlName); 
  173.             URLConnection connection = U.openConnection(); 
  174.             connection.connect(); 
  175.             BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
  176.             String line; 
  177.             while ((line = in.readLine()) != null)  
  178.                 result = (new StringBuilder(String.valueOf(result))).append(line).append("\n").toString(); 
  179.             in.close(); 
  180.         } 
  181.         catch (Exception e) 
  182.         { 
  183.             System.out.println((new StringBuilder("没有结果!")).append(e).toString()); 
  184.         } 
  185.         return result; 
  186.     } 
  187.  
  188.     private static void log(String msg) 
  189.     { 
  190.         log.println((new StringBuilder()).append(new Date()).append(": ").append(msg).toString()); 
  191.     } 
  192.  
  193.     private static void log(Throwable e, String msg) 
  194.     { 
  195.         log.println((new StringBuilder()).append(new Date()).append(": ").append(msg).toString()); 
  196.         e.printStackTrace(log); 
  197.     } 
  198.  
  199.     private static void alert() 
  200.     { 
  201.         int count = 0
  202.         do 
  203.         { 
  204.             Toolkit.getDefaultToolkit().beep(); 
  205.             if (count <= 40) 
  206.             { 
  207.                 count++; 
  208.                 try 
  209.                 { 
  210.                     Thread.sleep(500L); 
  211.                 } 
  212.                 catch (InterruptedException e) 
  213.                 { 
  214.                     e.printStackTrace(); 
  215.                 } 
  216.             } else 
  217.             { 
  218.                 return; 
  219.             } 
  220.         } while (true); 
  221.     } 
  222.  

 

settings.properties

  
  
  
  
  1. mobile=18978819181;18777156276 
  2. ip=222.73.38.215;222.73.38.223;222.73.38.235;222.73.38.236;222.73.38.237 

 

你可能感兴趣的:(职场,监控,休闲)