Alguma possibilidade de executar o shell script do arquivo java?

0

Eu tenho um arquivo Java chamado app.java , que extrai os servidores em meu aplicativo.
Eu preciso conectar a todos os servidores dessa lista e extrair os logs. Em loop, eu tenho que chamar script para se conectar a todas as máquinas. É possível chamar o script de shell do arquivo java? Qualquer sugestão, por favor.

Aqui estou adicionando um exemplo:

for (int m = 0; m < AppDetailsN.length(); ++m)
{
    JSONObject AppUsernIP=AppDetailsN.getJSONObject(m));
    Iterator keys = AppUsernIP.keys();

    while(keys.hasNext()) {
        String key = (String)keys.next();
        System.out.println("key:"+key);
        String value = (String)AppUsernIP.get(key);
        System.out.println("value "+value);
        if(key == "user")
            // Store value to user variable
            // [..]  
        if (key == "ip")
            //store value to IP variable 
            // [..]          
    }

    //Here I want to call the script with that username and IP and password 
}
    
por Vidya 20.10.2015 / 08:49

1 resposta

1

Você pode usar Runtime.exec() . Aqui está um exemplo muito simples:

import java.io.*;
import java.util.*;

class Foo {
    public static void main(String[] args) throws Exception {
        // Run command and wait till it's done
        Process p = Runtime.getRuntime().exec("ping -n 3 www.google.de");
        p.waitFor();

        // Grab output and print to display
        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

        String line = "";
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
    }
}
    
por 20.10.2015 / 09:07