Statistiques
| Révision :

root / src / gZFS / libConnect.java @ 23

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
}