2

我的任务是建立一个自动化系统,该系统必须在 Linux 服务器上做一些事情,根据我的理解和研究,迄今为止在 Java 中无法轻松完成这些事情,例如在linux服务器。我在 Java 库上使用了一些 SSH,但发现它们很难可靠地使用。我可以直接在 linux 服务器上运行 java 应用程序,所以我想知道是否有比通过 SSH 更好地对服务器进行所需调用的方法。任何意见,将不胜感激

4

2 回答 2

2

Runtime.getRuntime().exec("一些 linux 命令");


例子:

jcomeau@intrepid:/tmp$ cat /tmp/test.java; javac test.java; java test
import java.net.*;
import java.io.*;
public class test {
 public static void main(String args[]) throws Exception {
  String line;
  Process process = Runtime.getRuntime().exec("ls");
  BufferedReader process_out = new BufferedReader(
   new InputStreamReader(process.getInputStream()));
  while ((line = process_out.readLine()) != null)
   System.out.println(line);
  process.waitFor();
 }
}
bin
hash.class
hash.java
hsperfdata_jcomeau
profile
test.class
test.java
tmpe66f4e
tmplvOd2n
tmpn8FI2Q
tmpoYaciK
tmpx27knK
vmlinux
繁體中文.txt
于 2011-06-21T06:27:10.040 回答
1

有很多 Linux 网络管理工具可以实现这种管理——谷歌最热门的是Webmin——用 Perl 或 PHP 编写。除非您需要与服务器上现有的 java 代码集成,否则我想我会考虑调整其中的一个,而不是从头开始使用一种不太适合此类任务的语言。

不要低估这个系统的潜在安全风险——在他人工作的基础上构建的另一个优势。

于 2011-06-21T06:37:45.163 回答