自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用Java管理千臺(tái)規(guī)模Linux服務(wù)器

系統(tǒng) Linux
前東家是一家游戲公司,老板很好,當(dāng)時(shí)工作也留下了很多自己原創(chuàng)的管理腳本?,F(xiàn)在分享一下在辦公環(huán)境使用Java、Jsch登錄VPN管理Linux的腳本(此處實(shí)現(xiàn)JAVA調(diào)用Linux上備份Mysql的shell作為示例),希望對(duì)運(yùn)維的朋友有幫助,盡快從繁雜的服務(wù)器管理工作中脫離出來。

前東家是一家游戲公司,老板很好,當(dāng)時(shí)工作也留下了很多自己原創(chuàng)的管理腳本。現(xiàn)在分享一下在辦公環(huán)境使用Java、Jsch登錄VPN管理Linux的腳本(此處實(shí)現(xiàn)JAVA調(diào)用Linux上備份Mysql的shell作為示例),希望對(duì)運(yùn)維的朋友有幫助,盡快從繁雜的服務(wù)器管理工作中脫離出來。

主要的實(shí)現(xiàn)思路:

如果需要先登錄VPN才能連接游戲服務(wù)器,需要將游戲服務(wù)器的ssh端口(一般是22)映射到本地辦公電腦的端口上(如5555),然后ssh連接本地辦公電腦的5555端口,這樣就可以連接到游戲服務(wù)器,并可以管理游戲服務(wù)器了。

當(dāng)您學(xué)會(huì)通過VPN連接Linux服務(wù)器后,如果只在內(nèi)網(wǎng)環(huán)境,不使用VPN,就更簡單了,此外不再詳述。Jsch的example里也有介紹。

代碼:使用Jsch透過VPN

1.package com.daily.wednesday;

2.import java.io.IOException;

3.import java.io.InputStream;

4.import java.sql.Connection;

5.import java.sql.DriverManager;

6.import java.sql.ResultSet;

7.import java.sql.SQLException;

8.import java.sql.Statement;

9.import com.daily.util.DataBaseConnection;

10.import com.jcraft.jsch.Channel;

11.import com.jcraft.jsch.ChannelExec;

12.import com.jcraft.jsch.JSch;

13.import com.jcraft.jsch.JSchException;

14.import com.jcraft.jsch.Session;

15.public class BackUpMysql3 {

16. public static void main(String args[]) {

17. // 讀取數(shù)據(jù)庫配置

18. DataBaseConnection dataBaseConnection = new DataBaseConnection();

19. String dataBaseConfigForWrite[] = new String[3];

20. dataBaseConfigForWrite = dataBaseConnection.loadDataConfig();

21.22. Connection conn = null;// 數(shù)據(jù)庫連接

23. Statement stmt = null;// 數(shù)據(jù)庫表達(dá)式

24. ResultSet rs = null; // 結(jié)果集

25. int rowcount = 0;// 總記錄數(shù)

26. String sql = "select * from servers_maint_wednesday";

27.28. try {

29. conn = DriverManager.getConnection(dataBaseConfigForWrite[0],

30. dataBaseConfigForWrite[1], dataBaseConfigForWrite[2]);

31. stmt = conn.createStatement();

32. rs = stmt.executeQuery(sql);

33. rs.last();

34. rowcount = rs.getRow();// 總記錄數(shù)

35. rs = stmt.executeQuery(sql);

36. } catch (SQLException e) {

37. e.printStackTrace();

38. }

39. // 定義游戲服務(wù)器IP的數(shù)組,游戲服務(wù)器IP存在數(shù)據(jù)庫中。

40. String privateIpaddress[] = new String[rowcount];

41. String remark[] = new String[rowcount];// 定義游戲區(qū)名稱

42. String programPath[] = new String[rowcount];// 定義程序路徑

43. String backMysqlShellPath[] = new String[rowcount];// 定義mysql備份腳本路徑

44.45. int j = 0;

46. try {

47. while (rs.next()) {

48. privateIpaddress[j] = rs.getString("privateipaddress");

1

50. programPath[j] = rs.getString("programpath");

51. backMysqlShellPath[j] = rs.getString("backmysqlshellpath");

52. j++;

53. }

54. } catch (Exception e) {

55. e.printStackTrace();

56. } finally {

57. try {

58. if (rs != null) {

59. rs.close();

60. }

61. if (stmt != null) {

62. stmt.close();

63. }

64. if (conn != null) {

65. conn.close();

66. }

67. } catch (Exception e) {

68. e.printStackTrace();

69. }

70. }

71.72. // 調(diào)用mysql備份方法

【編輯推薦】

  1. Java 應(yīng)用框架 Nutz 1.b.45 發(fā)布
  2. Web開發(fā)框架之權(quán)限管理系統(tǒng)
  3. 兄弟!今天是系統(tǒng)管理員的節(jié)日 
責(zé)任編輯:張浩 來源: 網(wǎng)界網(wǎng)
相關(guān)推薦

2018-12-06 09:07:59

Ansible服務(wù)器運(yùn)維

2017-09-15 14:10:01

系統(tǒng)運(yùn)維服務(wù)器

2011-06-16 10:52:10

SUSE管理器Linux

2014-09-18 10:15:54

2013-12-20 09:48:12

2013-12-03 11:01:41

Linux服務(wù)器管理Webmin

2018-09-06 09:22:22

Linux系統(tǒng)服務(wù)器

2010-12-28 17:13:32

管理服務(wù)器

2016-06-20 15:36:01

OpenManage大

2024-04-29 11:37:33

2012-08-09 16:37:45

服務(wù)器管理Rex

2012-05-22 15:19:55

Rex服務(wù)器管理

2009-02-10 15:46:00

VNCLinux服務(wù)器遠(yuǎn)程桌面

2015-08-05 09:35:38

Bastille服務(wù)器安全

2010-07-20 09:13:55

Telnet服務(wù)器

2022-12-29 13:32:24

2020-10-16 18:16:21

遠(yuǎn)程服務(wù)器終端開發(fā)人員

2015-05-19 11:27:01

2017-03-21 11:12:22

LinuxAmazon AWS服務(wù)器

2017-12-10 15:25:50

戴爾
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)