CrontabCheck.java 1.97 KB
package com.sitech.ismp.coll.busi;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.Logger;

import com.sitech.ismp.coll.CollBase;
import com.sitech.util.Formater;
import com.sitech.util.upload.RomoteController;
import com.sitech.util.upload.SSHThread;

public class CrontabCheck {
	private static Logger logger = Logger.getLogger(CrontabCheck.class);

	
	public static void main(String[] args) {
		String ip = args[0];
		String username = args[1];
		String password = args[2];
		String guid = args[3];
		String crontabUser = args[4];
		String crontabLog  = args[5];
		
//		String cmd = (String) map.get("crontabCmd");
		
		
		logger.info("Excute job=" + guid + ", log=" + crontabLog);

		if(crontabLog == null || crontabLog.trim().equals("")){
			return;
		}
		CollBase collResult = new CollBase();
		String unitId = "11-98:" + Formater.neatenunitid(ip) + "-"
				+ Formater.neatenunitid(crontabUser) + "-"
				+ Formater.neatenunitid(guid);
		// IP地址
		collResult.addKPI(unitId, "CM-98-11-001-01", ip, "0");
		// 所属用户
		collResult.addKPI(unitId, "CM-98-11-001-02", crontabUser, "0");
		// crontab日志
		collResult.addKPI(unitId, "CM-98-11-001-03", crontabLog, "0");
		
		RomoteController tt  = null;
		try{
			tt = new SSHThread(ip, 22, username, password);
			tt.initial();
			
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm");
			String str = formatter.format(new Date());

			tt.doCommand("cat "+crontabLog+" | grep \"" + str + "\" | grep \"begin\" | wc -l");
			logger.info("cat "+crontabLog+" | grep \"" + str + "\" | grep \"begin\" | wc -l");
			
			String result = tt.getResult().trim();
			
			if (Integer.parseInt(result) > 0) {
				collResult.addKPI(unitId, "FM-98-11-001-04", "1", "0");
			}else{
				collResult.addKPI(unitId, "FM-98-11-001-04", "0", "0");
			}
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(tt != null){
				tt.close();
			}
		}
		
		collResult.saveKPI2File();
		
		collResult.displayKPI();

	}

}