远程调用其他主机sh脚本工具_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 远程调用其他主机sh脚本工具

远程调用其他主机sh脚本工具

 2018/8/30 18:47:41  -Jan-sep-  程序员俱乐部  我要评论(0)
  • 摘要:importcom.jcraft.jsch.ChannelExec;importcom.jcraft.jsch.JSch;importcom.jcraft.jsch.JSchException;importcom.jcraft.jsch.Session;importorg.n3r.quartz.glass.log.joblog.JobLogs;importjava.util.Properties;importjava.io.BufferedReader;importjava.io
  • 标签:其他 工具 主机 脚本 远程
class="java">import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import org.n3r.quartz.glass.log.joblog.JobLogs;
import java.util.Properties;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * Created by jansep_wangcx on 2018/5/31
 * 远程调用其他主机sh脚本工具
 */

public class ShToOtherUtil {

    /**
     *
     * @param ip
     * @param name
     * @param pass
     * @param port 端口,默认22
     * @param shpath sh脚本地址
     * @return
     */
    public static boolean ExeShell(String ip,String name,String pass,
                                   int port,String shpath){

        try{
            Session session = null;
            JSch jsch = new JSch(); // 创建JSch对象
            if(port==22){
                session = jsch.getSession(name, ip);
            }else{
                session = jsch.getSession(name, ip,port);
            }

            session.setPassword(pass);
            Properties config = new Properties();
            config.put("StrictHostKeyChecking", "no");
            session.setConfig(config);
          //  session.connect(30000);
            session.connect();

            ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
            channelExec.setCommand("sh " + shpath);
            channelExec.setInputStream(null);
            channelExec.setErrStream(System.err);
            channelExec.connect();

            BufferedReader input = new BufferedReader(new InputStreamReader(channelExec
                    .getInputStream()));


            String line;
            while ((line = input.readLine()) != null) {
                JobLogs.info("InputStream:"+line);
            }

        }catch (JSchException e) {
            JobLogs.error("ssh连接出错",e);
            return false;
        }catch (IOException e) {
            JobLogs.error("sh脚本执行出错",e);
            return false;
        }


        return true;
    }

}

?

上一篇: java 提取url字符串中的域名 下一篇: 没有下一篇了!
发表评论
用户名: 匿名