0

UNIXサーバー1(ユーザー名pwd)に接続するJavaプログラムを作成しました。別のサーバー(ユーザー名パスワード)に接続し、Javaプログラムを使用してサーバー1からサーバー2にデータをプッシュするコマンドを実行する必要があります。

Server1 接続は正常に機能しており、いくつかの基本的なコマンドを実行できます。

以下のコード

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Properties;
import net.neoremind.sshxcute.core.ConnBean;
import net.neoremind.sshxcute.core.Result;
import net.neoremind.sshxcute.core.SSHExec;
import net.neoremind.sshxcute.exception.TaskExecFailException;
import net.neoremind.sshxcute.task.CustomTask;
import net.neoremind.sshxcute.task.impl.ExecCommand;
public class UnixConnect {

// String hostName, String logFile, String userName, String password
static String[] host_names = null;
static String[] user_names = null;
static String[] pwd_text = null;
public void execCommand() throws TaskExecFailException {
    ConnBean cb1 = new ConnBean("0.000.00.000", "***", "****");
     SSHExec ssh1 = SSHExec.getInstance(cb1);
      ssh1.connect();
    String[] cmd = {"cd /apps/a/b/c/logs","tail -1 aLoadJob.log"};
        CustomTask tasks = new ExecCommand(cmd);
         Result res1 = ssh1.exec(tasks);

        if (res1.isSuccess) {
            /*System.out.println(res1.sysout)*/;
        } else {
            System.out.println("Return code: " + res1.sysout);
            System.out.println("error message: " + res1.error_msg);
        }
    ssh1.disconnect();

}


/**
 * @param args
 */
public static void main(String[] args) throws TaskExecFailException {
    UnixConnect ob = new UnixConnect();
    ob.execCommand();
}

}

両方のサーバーで、ユーザー名とパスワードを指定する必要があります

4

1 に答える 1

1

これは少し奇妙な使用例ですが、次のようにします。

  1. server1 に、データを server2 に転送するすべてのジョブを実行する bash スクリプトを実装します。もちろん、server1 は server2 に接続できる必要があります。

  2. プログラムを使用して、server1 で bash スクリプトを呼び出します。

于 2013-10-07T08:16:46.567 に答える