【linux环境启动job】

    private void jobRun(String jobCode, String time) throws Exception{							
        String cmd = null;							
        if(" ".equals(time)){							
            //直接启动							
            cmd = "sh " + jobpath + "/" + jobCode + ".sh";							
        }else {							
            // 定时启动							
            Long currentTime = getCurrentTimeMillis();													
            String day = dateAdd(currentTime, time);							
            // linux command							
            cmd = getCmd(jobCode, day);							
        }							
        Runtime run = Runtime.getRuntime();		
        					
        Process proc = run.exec(cmd);				
        			
        InputStream is1 = proc.getInputStream();							
        BufferedReader br1 = new BufferedReader(new InputStreamReader(is1, "MS932"));							
        String line;							
        while ((line = br1.readLine()) != null) {							
            			
            logger.info(line);							
        }							
        InputStream is2 = proc.getErrorStream();							
        BufferedReader br2 = new BufferedReader(new InputStreamReader(is2, "MS932"));							
        String line2;							
        while ((line2 = br2.readLine()) != null) {												
            if (!line2.trim().equals("")) {							
                logger.info(line2);							
            }							
        }							
        br1.close();							
        br2.close();							
        int exitVal = proc.waitFor();							
        if (exitVal == 0) {							
            logger.info("COMMAND EXECUTION SUCCESSFUL: " + cmd);							
        } else {							
            logger.info("JOB PARM UNMATCH JOBNAME= " + cmd);							
        }							
        logger.info("----------------------------------");							
    }							


    private String getCmd(String key, String day) {	
        StringBuffer cmdStr = new StringBuffer();	
        cmdStr.append("at");	
        cmdStr.append(" -f ");	
        cmdStr.append(jobpath);	
        cmdStr.append("/");	
        cmdStr.append(key);	
        cmdStr.append(".sh");	
        cmdStr.append(" ");	
        cmdStr.append(day);	
        return cmdStr.toString();	
    }	

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值