我有一個bash腳本來恢復我的數據庫。數據庫位於遠程Linux服務器上,我的Java代碼位於Windows上。我如何運行腳本?從Java代碼的Windows機器運行bash腳本
回答
你是什麼意思恢復?如果你只想加載你的數據庫轉儲可能創建備份數據庫,然後只是複製行到目標數據庫。如果你真的需要運行這個腳本,最簡單的方法是通過ssh連接到遠程服務器並啓動該腳本。使用Putty或某些ssh java lib進行連接併發送命令來運行。關於膩子更多信息here
我用膩子做連接,但我不知道如何發送命令從Java運行。 – user506246
使用'exec'從你的java代碼運行putty。 [Here](http://stackoverflow.com/a/11332291/1387612)是關於它的更多信息。由於平臺依賴性,這是不好的解決方案。所以更好的想法將使用一些普通的SSH Java庫可能[JSch](http://www.jcraft.com/jsch/examples/Exec.java.html) – janisz
問題解決了..我用JSch庫。 Tnx – user506246
嘗試這樣: -
Process p = Runtime.exec("ssh myhost");
PrintStream out = new PrintStream(p.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream());
out.println("ls -l /home/me");
while (in.ready()) {
String s = in.readLine();
System.out.println(s);
}
out.println("exit");
p.waitFor();
從源頭thread
我修改了腳本,併成功登錄到遠程機器。但仍然不能執行腳本,既不是linux命令。 – user506246
- 1. 從java運行bash腳本
- 2. 從腳本運行Java代碼的RCPTT
- 3. 從Windows PowerShell運行bash腳本
- 4. 從腳本運行代碼
- 5. 如何從Java運行bash腳本
- 6. 得到腳本在bash腳本中運行的錯誤代碼?
- 7. 使用Bash腳本通過java代碼運行多個文件
- 8. 從bash腳本運行javascript
- 9. 從JVM運行bash腳本
- 10. 從bash運行Oracle腳本
- 11. 從php運行bash腳本
- 12. bash腳本從rc.local運行
- 13. 從Windows中的Java代碼運行Maven?
- 14. 從sh或bash腳本運行/調用Windows批處理腳本
- 15. 從PHP腳本運行bash腳本
- 16. 從R腳本運行bash腳本
- 17. Java applet:從瀏覽器運行本機代碼?
- 18. 從python代碼運行PowerShell腳本
- 19. 運行從代碼異常perl腳本
- 20. 在Java中運行Bash腳本
- 21. 在java中運行bash shell腳本
- 22. 從Java代碼執行Shell腳本
- 23. 運行從另一個bash腳本bash腳本不同權限
- 24. 從incron運行bash腳本的問題
- 25. 遠程從ubuntu機器運行windows xp bat腳本
- 26. 在Jenkins運行bash腳本執行Java代碼時顯示日誌輸出
- 27. 從Windows bat文件執行bash腳本
- 28. 從Cygwin bash腳本執行Windows命令
- 29. awk的運行bash腳本
- 30. 運行python腳本的Bash腳本
看到這個:http://stackoverflow.com/questions/2514439/how-to-run- ssh-commands-on-remote-system-through-java-program – mindas