This is a Java based tool which is used to execute UNIX Commands. Its a user friendly tool
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import java.awt.BorderLayout;
public class JAVAGUIUNIXBOX implements ActionListener {
JFrame frame;
Container container;
JLabel storeNo, service, console;
JTextField storeNumber;
JButton start, stop, status, clear, lastTx, LoginUsers, preTask, postTask;
JTextArea output1;
JScrollPane scroll, scroll1;
JComboBox services;
JList serviceList;
JPanel panel, panel1, panel2, panel3;
public void Main() {
frame = new JFrame("JAVAGUIUNIXBOX ");
storeNo = new JLabel("Store No");
storeNumber = new JTextField();
String subject[] = { "All", "Auto Transfer", "Telnet", "Clear RX",
"IVRD", "EPSQUEUE", "DRXD" };
start = new JButton("Start");
stop = new JButton("Stop");
status = new JButton("Status");
service = new JLabel("Select Service");
services = new JComboBox();
serviceList = new JList(subject);
clear = new JButton("Clear");
console = new JLabel("Console");
output1 = new JTextArea();
// services.addItem("");
frame.setLayout(null);
// frame. showBorder(new TitledBorder("Title"));
scroll = new JScrollPane(output1);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
Border compound = null;
compound = BorderFactory.createTitledBorder(compound, "",
TitledBorder.TOP, TitledBorder.BELOW_BOTTOM);
scroll1 = new JScrollPane(serviceList);
scroll1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
storeNo.setBounds(30, 30, 50, 20);
storeNumber.setBounds(100, 30, 60, 20);
service.setBounds(180, 30, 85, 20);
scroll1.setBounds(270, 17, 100, 80);
start.setBounds(380, 18, 75, 20);
stop.setBounds(380, 46, 75, 20);
status.setBounds(380, 74, 75, 20);
console.setBounds(30, 145, 75, 20);
scroll.setBounds(27, 120, 430, 155);
clear.setBounds(380, 280, 75, 20);
panel = new JPanel();
panel1 = new JPanel();
panel3 = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder(""));
panel1.setBorder(BorderFactory.createTitledBorder("Console"));
panel3.setBorder(BorderFactory.createTitledBorder(""));
// simplePanel.add(new JLabel(""), JLabel.CENTER);
panel.setBounds(170, 5, 300, 95);
panel1.setBounds(10, 100, 460, 206);
panel3.setBounds(10, 5, 155, 95);
frame.add(storeNo);
frame.add(storeNumber);
frame.add(service);
// frame.add(serviceList);
frame.add(start);
frame.add(stop);
frame.add(status);
frame.add(clear);
output1.setEditable(false);
output1.setLineWrap(true);
output1.setVisible(true);
frame.add(scroll);
frame.add(scroll1);
frame.add(panel);
frame.add(panel1);
frame.add(panel3);
start.addActionListener(this);
stop.addActionListener(this);
status.addActionListener(this);
clear.addActionListener(this);
frame.setSize(500, 350);
frame.setLocation(300, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JAVAGUIUNIXBOX().Main();
}
JSch jsch = new JSch();
Session session = null;
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
// System.out.println("Inside n"+e.getActionCommand());
if (e.getActionCommand().equals("Clear")) {
output1.setText("");
storeNumber.setText("");
} else {
// stNo - Server Name
String stNo = storeNumber.getText().trim();
String newSNO = stNo;
boolean integerFlag = integerCheck(stNo);
if (integerFlag == true) {
if (serverStatus(newSNO) == true) {
// logWriter.writeLog("Initializing the JSCH Object"+newSNO);
Channel channel = null;
try {
channel = session.openChannel("exec");
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Initialize");
String telnetStart = "sudo /usr/local/operations/scripts/./telnet start";
String telnetStop = "sudo /usr/local/operations/scripts/./telnet stop";
String telnetStatus = "sudo /usr/local/operations/scripts/./telnet status";
String autoStart = "sh /usr/pdx/bycom/servers/AUTOTRANSFER.sh start";
String autoStop = "sh /usr/pdx/bycom/servers/AUTOTRANSFER.sh stop";
String autoStatus = "sh /usr/pdx/bycom/servers/AUTOTRANSFER.sh status";
String clearRxStart = "sh /etc/init.d/clearrx start";
String clearRxStop = "sh /etc/init.d/clearrx stop";
String clearRxStatus = "sh /etc/init.d/clearrx status";
String ivrdStart = "sh /usr/pdx/bycom/servers/IVRD.sh start";
String ivrdStop = "sh /usr/pdx/bycom/servers/IVRD.sh stop";
String ivrdStatus = "sh /usr/pdx/bycom/servers/IVRD.sh status";
String epsStart = "sh /usr/pdx/bycom/servers/EPSQUEUE.sh start";
String epsStop = "sh /usr/pdx/bycom/servers/EPSQUEUE.sh stop";
String epsStatus = "sh /usr/pdx/bycom/servers/EPSQUEUE.sh status";
String drxdStart = "sh /usr/pdx/bycom/servers/DRXD_RX.sh start";
String drxdStop = "sh /usr/pdx/bycom/servers/DRXD_RX.sh stop";
String drxdStatus = "sh /usr/pdx/bycom/servers/DRXD_RX.sh status";
Object o[] = serviceList.getSelectedValues();
if (o.length == 0) {
JOptionPane
.showMessageDialog(null,
"Please Select Atleast One Service",
"Error", 1);
} else {
if (e.getActionCommand().equals("Start")) {
try {
channel = session.openChannel("exec");
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int count = 0;
int i = 0;
;
System.out.println(o.length);
if (o.length == 1
&& o[i].toString().equalsIgnoreCase("All")) {
i = 0;
((ChannelExec) channel).setCommand(telnetStart
+ ";" + autoStart + ";" + clearRxStart
+ ";" + ivrdStart + ";" + epsStart
+ ";" + drxdStart);
count++;
}
else {
System.out.println("Main");
String manyServices = "", service = "";
for (int j = 0; j < o.length; j++) {
if (o[j].toString().equalsIgnoreCase(
"Telnet")) {
service = telnetStart;
}
if (o[j].toString().equalsIgnoreCase(
"Auto Transfer")) {
service = autoStart;
}
if (o[j].toString().equalsIgnoreCase(
"Clear Rx")) {
service = clearRxStart;
}
if (o[j].toString()
.equalsIgnoreCase("IVRD")) {
service = ivrdStart;
}
if (o[j].toString().equalsIgnoreCase(
"EPSQUEUE")) {
service = epsStart;
}
if (o[j].toString()
.equalsIgnoreCase("DRXD")) {
service = drxdStart;
}
manyServices += service + ";";
}
((ChannelExec) channel)
.setCommand(manyServices);
System.out.println(manyServices);
}
// ;ps -ef | grep mediture
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
try {
channel.connect();
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStream in = null;
try {
in = channel.getInputStream();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
byte[] tmp = new byte[1024];
String output = null;
while (true) {
try {
while (in.available() > 0) {
int i1 = in.read(tmp, 0, 1024);
if (i1 < 0)
break;
output = new String(tmp, 0, i1);
// System.out.print(new String(tmp, 0,
// i));
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (channel.isClosed()) {
// System.out.println("exit-status: "+channel.getExitStatus());
break;
}
try {
Thread.sleep(4000);
} catch (Exception ee) {
}
}
output1.setText(output);
channel.disconnect();
}
if (e.getActionCommand().equals("Stop")) {
try {
channel = session.openChannel("exec");
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// Object o[]=serviceList.getSelectedValues();
int count = 0;
int i = 0;
;
System.out.println(o.length);
if (o.length == 1
&& o[i].toString().equalsIgnoreCase("All")) {
i = 0;
((ChannelExec) channel).setCommand(telnetStop
+ ";" + autoStop + ";" + clearRxStop
+ ";" + ivrdStop + ";" + epsStop + ";"
+ drxdStop);
count++;
}
else {
System.out.println("Main");
String manyServices = "", service = "";
for (int j = 0; j < o.length; j++) {
if (o[j].toString().equalsIgnoreCase(
"Telnet")) {
service = telnetStop;
}
if (o[j].toString().equalsIgnoreCase(
"Auto Transfer")) {
service = autoStop;
}
if (o[j].toString().equalsIgnoreCase(
"Clear Rx")) {
service = clearRxStop;
}
if (o[j].toString()
.equalsIgnoreCase("IVRD")) {
service = ivrdStop;
}
if (o[j].toString().equalsIgnoreCase(
"EPSQUEUE")) {
service = epsStop;
}
if (o[j].toString()
.equalsIgnoreCase("DRXD")) {
service = drxdStop;
}
manyServices += service + ";";
}
((ChannelExec) channel)
.setCommand(manyServices);
System.out.println(manyServices);
}
// ;ps -ef | grep mediture
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
try {
channel.connect();
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStream in = null;
try {
in = channel.getInputStream();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
byte[] tmp = new byte[1024];
String output = null;
while (true) {
try {
while (in.available() > 0) {
int i1 = in.read(tmp, 0, 1024);
if (i1 < 0)
break;
output = new String(tmp, 0, i1);
// System.out.print(new String(tmp, 0,
// i));
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (channel.isClosed()) {
// System.out.println("exit-status: "+channel.getExitStatus());
break;
}
try {
Thread.sleep(4000);
} catch (Exception ee) {
}
}
output1.setText(output);
channel.disconnect();
}
if (e.getActionCommand().equals("Status")) {
try {
channel = session.openChannel("exec");
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// Object o[]=serviceList.getSelectedValues();
int count = 0;
int i = 0;
;
System.out.println(o.length);
if (o.length == 1
&& o[i].toString().equalsIgnoreCase("All")) {
i = 0;
((ChannelExec) channel).setCommand(telnetStatus
+ ";" + autoStatus + ";"
+ clearRxStatus + ";" + ivrdStatus
+ ";" + epsStatus + ";" + drxdStatus);
count++;
}
else {
System.out.println("Main");
String manyServices = "", service = "";
for (int j = 0; j < o.length; j++) {
if (o[j].toString().equalsIgnoreCase(
"Telnet")) {
service = telnetStatus;
}
if (o[j].toString().equalsIgnoreCase(
"Auto Transfer")) {
service = autoStatus;
}
if (o[j].toString().equalsIgnoreCase(
"Clear Rx")) {
service = clearRxStatus;
}
if (o[j].toString()
.equalsIgnoreCase("IVRD")) {
service = ivrdStatus;
}
if (o[j].toString().equalsIgnoreCase(
"EPSQUEUE")) {
service = epsStatus;
}
if (o[j].toString()
.equalsIgnoreCase("DRXD")) {
service = drxdStatus;
}
manyServices += service + ";";
}
((ChannelExec) channel)
.setCommand(manyServices);
System.out.println(manyServices);
}
// ;ps -ef | grep mediture
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
try {
channel.connect();
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStream in = null;
try {
in = channel.getInputStream();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
byte[] tmp = new byte[1024];
String output = null;
while (true) {
try {
while (in.available() > 0) {
int i1 = in.read(tmp, 0, 1024);
if (i1 < 0)
break;
output = new String(tmp, 0, i1);
// System.out.print(new String(tmp, 0,
// i));
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (channel.isClosed()) {
// System.out.println("exit-status: "+channel.getExitStatus());
break;
}
try {
Thread.sleep(4000);
} catch (Exception ee) {
}
}
output1.setText(output);
channel.disconnect();
}
}
}
else {
JOptionPane.showMessageDialog(null, "Server offline",
"Error", 1);
output1.setText("");
storeNumber.setText("");
}
} else {
JOptionPane.showMessageDialog(null, "Invalid Store Number",
"Error", 1);
output1.setText("");
storeNumber.setText("");
}
}
}
public boolean integerCheck(String stNo) {
boolean check;
String num = "[\p{Digit}&&[1234567890]]+";
if (stNo.length() == 4) {
if (stNo.matches(num)) {
check = true;
} else {
check = false;
}
} else {
check = false;
}
return check;
}
public boolean serverStatus(String newSNO) {
String userName = "userName";
String password = "password1 ";
String password1 = "password2";
// logWriter.writeLog("Creating the session object"+userName+" "+newSNO+" "+password);
System.out.println("newSNO" + newSNO);
try {
session = jsch.getSession(userName, newSNO, 22);
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// logWriter.writeLog("Setting the Password");
session.setPassword(password);
// jsch.addIdentity("id_rsa");
// System.out.println("identity added ");
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
// logWriter.writeLog("Setting config key");
session.setConfig(config);
boolean status;
try {
session.connect();
status = true;
} catch (JSchException e1) {
// TODO Auto-generated catch block
status = false;
// session.disconnect();
e1.printStackTrace();
}
if (status == false) {
try {
session = jsch.getSession(userName, newSNO, 22);
} catch (JSchException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// logWriter.writeLog("Setting the Password");
session.setPassword(password1);
// jsch.addIdentity("id_rsa");
// System.out.println("identity added ");
java.util.Properties config1 = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
// logWriter.writeLog("Setting config key");
session.setConfig(config1);
try {
session.connect();
status = true;
} catch (JSchException e1) {
// TODO Auto-generated catch block
status = false;
// session.disconnect();
e1.printStackTrace();
}
}
return status;
}
}