root / src / gZFS / libConnect.java @ 28
Historique | Voir | Annoter | Télécharger (3,09 ko)
1 | 14 | kreverch | package gZFS; |
---|---|---|---|
2 | 14 | kreverch | |
3 | 14 | kreverch | import java.io.BufferedReader; |
4 | 14 | kreverch | import java.io.IOException; |
5 | 14 | kreverch | import java.io.InputStream; |
6 | 14 | kreverch | import java.io.InputStreamReader; |
7 | 14 | kreverch | import java.io.OutputStream; |
8 | 14 | kreverch | import java.io.PipedInputStream; |
9 | 14 | kreverch | import java.io.PipedOutputStream; |
10 | 14 | kreverch | import java.io.PrintStream; |
11 | 14 | kreverch | import java.util.ArrayList; |
12 | 14 | kreverch | import java.util.Properties; |
13 | 14 | kreverch | |
14 | 14 | kreverch | import com.jcraft.jsch.Channel; |
15 | 14 | kreverch | import com.jcraft.jsch.ChannelExec; |
16 | 14 | kreverch | import com.jcraft.jsch.JSch; |
17 | 14 | kreverch | import com.jcraft.jsch.JSchException; |
18 | 14 | kreverch | import com.jcraft.jsch.Session; |
19 | 14 | kreverch | |
20 | 14 | kreverch | public class libConnect { |
21 | 14 | kreverch | |
22 | 14 | kreverch | private String userLogin; |
23 | 14 | kreverch | private String userPassword; |
24 | 14 | kreverch | private String sshHost; |
25 | 14 | kreverch | private int sshPort; |
26 | 14 | kreverch | private Session session;
|
27 | 14 | kreverch | private JSch jsch = new JSch(); |
28 | 14 | kreverch | |
29 | 14 | kreverch | public String connect(String cmd) { |
30 | 14 | kreverch | String outCmd = null ; |
31 | 14 | kreverch | try {
|
32 | 14 | kreverch | |
33 | 14 | kreverch | setSession(jsch.getSession(getUserLogin(), getSshHost(), getSshPort())); |
34 | 14 | kreverch | session.setPassword(this.getUserPassword());
|
35 | 14 | kreverch | Properties config = new Properties(); |
36 | 14 | kreverch | config.put("StrictHostKeyChecking", "no"); |
37 | 14 | kreverch | session.setConfig(config); |
38 | 14 | kreverch | session.connect(); |
39 | 14 | kreverch | if ( session.isConnected()){
|
40 | 14 | kreverch | System.out.println("Connected"); |
41 | 14 | kreverch | }else{
|
42 | 14 | kreverch | System.out.println("not Connected"); |
43 | 14 | kreverch | } |
44 | 14 | kreverch | ChannelExec channel = (ChannelExec) session.openChannel("exec");
|
45 | 14 | kreverch | //((ChannelExec) channel).setCommand("ls");
|
46 | 14 | kreverch | ((ChannelExec) channel).setCommand(cmd); |
47 | 14 | kreverch | InputStream in = channel.getInputStream();
|
48 | 14 | kreverch | OutputStream out = channel.getOutputStream();
|
49 | 14 | kreverch | ((ChannelExec) channel).setErrStream(System.err);
|
50 | 14 | kreverch | |
51 | 14 | kreverch | channel.connect(); |
52 | 14 | kreverch | byte[] tmp = new byte[1024]; |
53 | 14 | kreverch | |
54 | 14 | kreverch | while (true) { |
55 | 14 | kreverch | |
56 | 14 | kreverch | int ind = 0; |
57 | 14 | kreverch | while (in.available() > 0) { |
58 | 14 | kreverch | int i = in.read(tmp, 0, 1024); |
59 | 14 | kreverch | if (i < 0) |
60 | 14 | kreverch | break;
|
61 | 14 | kreverch | |
62 | 14 | kreverch | outCmd= new String(tmp, 0, i); |
63 | 14 | kreverch | //System.out.println(toto);
|
64 | 14 | kreverch | System.out.println(outCmd);
|
65 | 14 | kreverch | //System.out.print(new String(tmp, 0, i));
|
66 | 14 | kreverch | |
67 | 14 | kreverch | } |
68 | 14 | kreverch | if (channel.isClosed()) {
|
69 | 14 | kreverch | break;
|
70 | 14 | kreverch | } |
71 | 14 | kreverch | try {
|
72 | 14 | kreverch | Thread.sleep(1000); |
73 | 14 | kreverch | } catch (Exception ee) { |
74 | 14 | kreverch | System.out.println(ee);
|
75 | 14 | kreverch | } |
76 | 14 | kreverch | } |
77 | 14 | kreverch | channel.disconnect(); |
78 | 14 | kreverch | |
79 | 14 | kreverch | } catch (JSchException e) {
|
80 | 14 | kreverch | // TODO Auto-generated catch block
|
81 | 14 | kreverch | e.printStackTrace(); |
82 | 14 | kreverch | return null; |
83 | 14 | kreverch | } catch (IOException e) { |
84 | 14 | kreverch | // TODO Auto-generated catch block
|
85 | 14 | kreverch | e.printStackTrace(); |
86 | 14 | kreverch | return null; |
87 | 14 | kreverch | } |
88 | 14 | kreverch | /*for (int cpt=0;cpt < outCmd.length;cpt++ ) {
|
89 | 14 | kreverch | System.out.println(outCmd[cpt]);
|
90 | 14 | kreverch | }*/
|
91 | 14 | kreverch | System.out.println(outCmd);
|
92 | 14 | kreverch | return outCmd;
|
93 | 14 | kreverch | } |
94 | 14 | kreverch | |
95 | 14 | kreverch | |
96 | 14 | kreverch | |
97 | 14 | kreverch | public String zfsGetAllVolume(String volume){ |
98 | 14 | kreverch | return connect("zfs list"); |
99 | 14 | kreverch | |
100 | 14 | kreverch | // return this.executeCmd("/sbin/zfs get all "+volume);
|
101 | 14 | kreverch | } |
102 | 14 | kreverch | public String getSshHost() { |
103 | 14 | kreverch | return sshHost;
|
104 | 14 | kreverch | } |
105 | 14 | kreverch | |
106 | 14 | kreverch | public void setSshHost(String sshHost) { |
107 | 14 | kreverch | this.sshHost = sshHost;
|
108 | 14 | kreverch | } |
109 | 14 | kreverch | |
110 | 14 | kreverch | public String getUserLogin() { |
111 | 14 | kreverch | return userLogin;
|
112 | 14 | kreverch | } |
113 | 14 | kreverch | |
114 | 14 | kreverch | public void setUserLogin(String userLogin) { |
115 | 14 | kreverch | this.userLogin = userLogin;
|
116 | 14 | kreverch | } |
117 | 14 | kreverch | |
118 | 14 | kreverch | |
119 | 14 | kreverch | public int getSshPort() { |
120 | 14 | kreverch | return sshPort;
|
121 | 14 | kreverch | } |
122 | 14 | kreverch | |
123 | 14 | kreverch | |
124 | 14 | kreverch | public void setSshPort(int sshPort) { |
125 | 14 | kreverch | this.sshPort = sshPort;
|
126 | 14 | kreverch | } |
127 | 14 | kreverch | |
128 | 14 | kreverch | public Session getSession() {
|
129 | 14 | kreverch | return session;
|
130 | 14 | kreverch | } |
131 | 14 | kreverch | |
132 | 14 | kreverch | public void setSession(Session session) { |
133 | 14 | kreverch | this.session = session;
|
134 | 14 | kreverch | } |
135 | 14 | kreverch | |
136 | 14 | kreverch | public String getUserPassword() { |
137 | 14 | kreverch | return userPassword;
|
138 | 14 | kreverch | } |
139 | 14 | kreverch | |
140 | 14 | kreverch | public void setUserPassword(String userPassword) { |
141 | 14 | kreverch | this.userPassword = userPassword;
|
142 | 14 | kreverch | } |
143 | 14 | kreverch | |
144 | 14 | kreverch | } |