Capturing a command output from unix
Hi All
I am using enchanter to connect to unix and running a command but how do i capture the output of the command. Follwoing is the code i used.
import java.io.IOException;
import org.twdata.enchanter.SSH;
import org.twdata.enchanter.impl.DefaultSSH;
public class connect {
public static void main(String[] args) throws IOException {
SSH ssh = new DefaultSSH();
ssh.connect("ip address", 22, "username", "pwd");
ssh.sendLine("ls -lrt");
System.out.println(ssh.getLine());
ssh.disconnect();
}Thanks
Diana
[http://code.google.com/p/enchanter/]
Similar Messages
-
Capturing print command output from procedures
Is it possible to capture the output from print statements in stored procedures such as the "print" command in Sybase stored procedures? This information doesn't seem to come through the result set.
Thanks,
KPThis will be database specific. Please consult your database documentation.
-
Invoke the command unzip from unix in java-code ...
Hi people,
i have problem, i want to use the command unzip from unix, to unzip a zip-file, the commend unzip must invoke from java-code. Can someone help me. I use the zip-api, but i have 100Mb zip-file, it needs very long time to unzip the zip-file.
thanks for your help ...use Runtime.exec() to call your unix "unzip" command from java, if its much faster.
-
Capture generated html output from jsf page in bean
Hi Member,
I have need to capture the html output coming form jsf page. means aftr rendering what html is displayed before user, we have need to get it in programm.
like if we use:
<h:dataTable......>
<h:colum>heloo</h:column>
</h:dataTable>
then their ouput will be:
<table>
<tr><td>heloo</td></tr>
</table>
and i have need of these complete line with <table> ......</table>
Please help me...
Thanks
Shailendra KumarThnx for quick reply.
But i want to capture it in render response phase. May it will be possible??? Is render response phase is responsible for generation of HTML format?? If yes then how can we capture output coming from this phase.
URLConnection if fine but it still hit server once. I don't want that. I want to store page html format during its view preparation for html.
Thanks
Shailendra Kumar -
Capturing verbose output from javac??
I am tyring to capture the verbose output from javac.
From a UNIX shell, I type "javac -verbose Test.java 2> dump.txt" and it works fine.
The trick is that I want to do this within a Java program. I have the following code, but I can't seem to find a solution. Any help is appreciated.
import java.io.*;
public class GetTree {
public static void main(String[] args) {
try {
Runtime r = Runtime.getRuntime();
String options = "-verbose";
// The java file to compile.
String fileName = args[0];
String command = "javac " + options + " " + fileName + " 2>dump.txt";
// This doesn't even create the 'dump.txt' file!?
Process p = r.exec(command);
catch (Exception e) {
System.err.println(e);
-----------------------------------------------------------------------Try this...
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
appu -
How to capture graphical outputs from other programs
Does anyone know how we capture the graphical outputs from the other programs and show them
on the swing?
I'd like to use a java program to run gnuplot, capture the outputs, and show them using swing.Depends on what you mean by "graphic outputs".
Taking a quick glance at the gnuplot homepage, it looks as if you can output to PNG files, so just run the app, and load the png file. -
Using unzip from unix in java-code ...
Hi people,
i have problem, i want to use the command unzip from unix, to unzip a zip-file, the commend unzip must invoke from java-code. Can someone help me. I use the zip-api, but i have 100Mb zip-file, it needs very long time to unzip the zip-file.
thanks for your help ...ok, not sure how much improvement this will give in general, but its given a reliable 25% speed increase on my mini tests
using the nio libraries will also get you a lot further, and is the way to go if you are very keen on speed
asjf
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.zip.*;
import javax.swing.*;
public class Unzipper {
private Unzipper() {}
private static byte[] buffer = new byte[16384];
public static void unzip(File file, Component parentComponent, File outputDir) throws ZipException, IOException {
unzip(new ZipFile(file), parentComponent, outputDir);
public static void unzip(File file, int mode, Component parentComponent, File outputDir) throws IOException {
unzip(new ZipFile(file, mode), parentComponent, outputDir);
public static void unzip(String name, Component parentComponent, File outputDir) throws IOException {
unzip(new ZipFile(name), parentComponent, outputDir);
public static void unzip(ZipFile zip, Component parentComponent, File outputDir) throws IOException {
if ( zip == null) {
throw new NullPointerException("outputDir is null");
int size = zip.size();
if (size > 0) {
if (outputDir == null) {
throw new NullPointerException("outputDir is null");
if (!outputDir.exists()) {
outputDir.mkdirs();
ProgressMonitor monitor =
new ProgressMonitor(parentComponent,
"Unpacking " + zip.getName() + "...", "", 0, size);
monitor.setMillisToDecideToPopup(0);
monitor.setMillisToPopup(0);
Enumeration entries = zip.entries();
for ( int i = 0; entries.hasMoreElements(); ) {
ZipEntry entry = (ZipEntry) entries.nextElement();
/*if (entry.getMethod() == ZipEntry.DEFLATED)
System.out.println(" Inflating: "+entry.getName());
else
System.out.println(" Extracting: "+entry.getName());*/
monitor.setNote(entry.getName());
File File = new File(outputDir, entry.getName());
File.getParentFile().mkdirs();
if (!entry.isDirectory()) {
InputStream in = null;
OutputStream out = null;
try {
in = zip.getInputStream(entry);
out = new FileOutputStream(File);
for (int n = 0; (n = in.read(buffer)) > -1; )
out.write(buffer, 0, n);
monitor.setProgress(++i);
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
public static void main(String[] args) throws ZipException, IOException
if (args.length !=2) {
System.err.println("Usage: java Unzipper <zip file> <output dir>");
System.exit(1);
long start = -System.currentTimeMillis();
unzip(args[0], null, new File(args[1]));
System.out.println(start+System.currentTimeMillis());
System.exit(0); -
Download file from UNIX to EXCEL problem
Hi,
I am trying to download file from UNIX server to excel file, there is one column which is messing up and that is number 100000000000000002 (18 in length) it is writing as 1E+17, funny thing is when I click on that cell it is showing as
100000000000000000.
I am using GUI_DOWNLOAD to download to excel, below is the output excel format, I am talking about 4th value from left
GUID leg_reg lic_type lic_num ex_lic_num vali_from valid_to created_by
3E633B85C05E6F28E100 EAR ENC 1E+17 ENC 20030305 20930305 VANRIJ
below is the program I am using to download the output from UNIX to excel
FORM get_data_file.
OPEN DATASET p_unxfil FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
DO.
READ DATASET p_unxfil INTO input_file_tab-line_string.
IF sy-subrc <> 0.
EXIT.
ENDIF.
APPEND input_file_tab.
CLEAR input_file_tab.
ENDDO.
ELSE.
PERFORM write_message USING 'ZZ' 'E' '000'
'Unable to find file' p_unxfil
' Press Enter key to exit.' ''.
ENDIF.
CLOSE DATASET p_unxfil.
DESCRIBE TABLE input_file_tab LINES record_cnt.
ENDFORM. " get_data_file
FORM create_pc_file.
DATA: l_file TYPE string.
MOVE p_pcfile TO l_file.
Save the file
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = l_file
TABLES
data_tab = input_file_tab
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
IF sy-subrc NE 0.
WRITE: / 'Error creating pc file', p_pcfile.
EXIT.
endif.
I will assure of points.
Thanks for your help
SarathIt is not the problem of your program. This happens becuase of the "nature" of the excel. You need to retain the text property of that column.
Try like this:
1. Download the file in .txt
2. Open Excel .. blank sheet
3. Now, click on Open. Select your .txt file
4. One pop up will come ..."Text Import Wizard"
5. Select the fixed width or Delimited ... Press Next ...
6. Select appropriate delimitors or fixed length .. press Next
7. Select your coulumn (which has the problem), Select the "Text" radiobutton on the upper-right corner and finish.
Regards,
Naimesh Patel -
Command output redirect question
Hi guys,
I am putting in a kron function to transfer the command output from all the switches and routers on our network to a tftp server.
I have the kron occurence and policy lists set up the way I want them and have tested the redirection of the command line output to the server.
The problem I have is that I want to back up the switches 3 or 4 times once a week to compare the configs to make sure that no unwanted changes are being made over the course of the month.
Is there a way to use a variable to change the file name when it redirects? Currently when the occurence runs the file modified time on the tftp server changes but the output doesnt append as I had hoped it would, i.e one file having the config copy in to the file over and over.
Thanks for your helpYou might want to consider the built-in Config Archive feature instead of kron. With Config Archive, you can periodically take backups of your config (even to a network server), and you can adjust the filenames using either date or hostname (or both). Check out the documentation at http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtrollbk.html#wp1100253 for more details.
In addition to Config Archive, you also have the option of going with the Embedded Event Manager. EEM also has a cron feature which will allow you to run CLI commands periodically. Depending on your IOS version, it may be possible to do what you want using a simple EEM applet, or you might have to use a Tcl script policy. More on EEM can be found at http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_eem_overview_ps10592_TSD_Products_Configuration_Guide_Chapter.html .
All that said, most TFTP servers have a security requirement that a file must exist on the server before one can write to it. Therefore, if you try and create new files (i.e. a new file each day), the TFTP server may reject the WRITE REQUEST unless a file with that name already exists. In light of that, you may need to use something like SCP or FTP instead. -
How to Save Command Output to Flash on ASA 8.4
Hi,
I nice easy one for you guys.
How do you save the command output from the CLI to a file on flash?
With IOS, I would normally use a pipe command to redirect to tftp, but the ASA doesn't support this as far as I can tell. As a work around I was thinking I could save the output to flash and then tftp that file off the ASA.
Thanks,
PaulHi Jennifer,
Thanks for your help. I do use this feature at the moment, but I find every break in the output (where you need to hit space to see more) gets recorded which leaves the file quite messy. I usually have to edit the file afterwards so it reads clearly.
I wondered if there is a way for the asa to write the output directly?
Thanks,
Paul -
Output from Send Unix command stalled
after send a unix command to a client the output from
the command stalls. It seems that the output is buffered
and that the final buffers are not flushed. This behaviour
is new since 10.5.5 --
Anyone know of a way to control the buffer size, when
they are flushed or to how to run unbuffered ??
ARD 3.2.2 all around and 10.5.6 all around ARD on a Quad Xenon
and clients iMac Alumwell this seems to have been a red herring --
I had not set the "linebuffering" option on the
command
the command was lapply from the radmind suite
needed to set "-i"
thanks -
Working Code from Unix Command, needs fixing!
/* Codes needs modification to run and display in GUI, will run and produce output in terminal, but will not display in GUI with setText and getText */
import java.io.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class UnixCommand extends JFrame
private JComboBox comboBox;
private JTextArea displayArea;
private JPanel mainPanel, displayPanel, comboPanel;
private String names[] = { "Check Processes", "Check Network Connectivity",
"Check Remote Users", "Check Share Devices" };
TitledBorder selectBorder, displayBorder;
public UnixCommand()
super( "Unix Command Tools in GUI" );
Container container = getContentPane();
mainPanel = new JPanel( new BorderLayout() );
container.add( mainPanel );
displayPanel = new JPanel();
comboPanel = new JPanel();
mainPanel.add( displayPanel, BorderLayout.CENTER );
mainPanel.add( comboPanel, BorderLayout.NORTH );
comboBox = new JComboBox( names );
comboBox.setMaximumRowCount( 3 );
comboPanel.add( comboBox );
selectBorder = BorderFactory.createTitledBorder( "Select the Task to Perform" );
selectBorder.setTitlePosition( TitledBorder.TOP );
comboPanel.setBorder( selectBorder );
displayArea = new JTextArea( 22, 40 );
displayPanel.add( displayArea );
displayBorder = BorderFactory.createTitledBorder( "The Command Output Selected" );
displayBorder.setTitlePosition( TitledBorder.BOTTOM );
displayPanel.setBorder( displayBorder );
String s = null;
displayArea.setText("\tHere is the standard output of the command:\n");
try
// run the Unix "ps -ef" command
Process p = Runtime.getRuntime().exec("ps -ef");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null)
System.out.println(s);
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null)
System.out.println(s);
System.exit(0);
catch (IOException e)
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
setSize( 500, 500 );
setVisible( true );
public static void main( String args[] )
UnixCommand application = new UnixCommand();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}All files are regenerated if changed.
That goes for the .java and the .class files that are created. The jsp server checks to see if the current version is the latest. If it is, nothing gets changed or recompiled. If things are different, programs are recompiled.
Youll notice that if you have a new jsp it always takes longer the first time. Or even when you change a jsp, the first time takes the longest for the page to come up in a browser. This is because of recompiling.
Does this make any sense?
Adam -
How to execute unix command line from cocoa?
how to execute unix command line from cocoa?
for example, if I want to call "ping" from cocoa, how should I do it? and how can I obtain the return value?
thank you.
Power G5 Quad Mac OS X (10.4.3)The following article may also help:
http://cocoadevcentral.com/articles/000025.php
Mihalis.
Dual G5 @ 2GHz Mac OS X (10.4.6) -
Inconsistent output from SCVMM PowerShell commands
I noticed that the output from SCVMM commands is not consistent. I will use an example: When I run the command Get-SCVMHostGroup for the first time, the Hosts and AllChildHosts properties are null, but if I keep running the same command continuously
the values slowly start appearing. See following output:
PS C:\Users\mandardi> Get-SCVMHostGroup
AllChildGroups : {}
AllChildHosts : {}
AllowUnencryptedTransfers : False
ChildGroups : {}
CreationDate : 8/16/2011 7:32:06 PM
Creator :
Description :
Hosts : {}
ID : 0e3ba228-a059-46be-aa41-2f5cf0f4b96e
InheritPROSettings :
InheritNetworkSettings : False
IsFullyCached : True
IsRoot : True
MarkedForDeletion : False
ModificationDate : 8/16/2011 7:32:06 PM
ModifiedBy :
Name : All Hosts
ParentHostGroup :
Path : All Hosts
PROAutomationLevel :
PROMonitoringLevel :
ServerConnection : Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection
PS C:\Users\mandardi> Get-SCVMHostGroup
AllChildGroups : {}
AllChildHosts : {mandar-win2k8.cvlxxxxx.local}
AllowUnencryptedTransfers : False
ChildGroups : {}
CreationDate : 8/16/2011 7:32:06 PM
Creator :
Description :
Hosts : {mandar-win2k8.cvlxxxxx.local}
ID : 0e3ba228-a059-46be-aa41-2f5cf0f4b96e
InheritPROSettings :
InheritNetworkSettings : False
IsFullyCached : True
IsRoot : True
MarkedForDeletion : False
ModificationDate : 8/16/2011 7:32:06 PM
ModifiedBy :
Name : All Hosts
ParentHostGroup :
Path : All Hosts
PROAutomationLevel :
PROMonitoringLevel :
ServerConnection : Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection
The command above was run twice within an interval of few seconds, as you can see the Hosts/AllChildHosts properties are populated after the second attempt.
I want to know what is the reason for this behavior, are the properties collected asynchronously? If yes, what is the best way to prevent this?
I also noticed that when you open a new powershell window, the same behavior repeats, in fact you get correct output in one window, whereas you get null values in other. What is the reason for this and what's the work around?
Thanks in advance.
MandarThere are times when you get a job back as the return value and not the actual queried value.
Quite frequently it has to do with the information being queried.
Getting a specific HostGroup I would expect to be relatively quick, however generically querying for all host groups might not.
I have not tried the specific scenario myself, I am describing behavior i have experienced.
Does this affect the reliability of the PoSh module? I don't think so. But it definately affects how you use it and its cmdlets.
I have learned that taking thinking from another virutalization environment (XenServer or vCenter for example) and expecting those same behaviors from SCVMM is a false assumption that many folks run in to. This makes VMM neither fit nor unfit - just
different.
I am not attempting to defend VMM, just stating situations that I have been in with development teams.
Brian Ehlert (hopefully you have found this useful) http://ITProctology.blogspot.com
Learn. Apply. Repeat. -
Unix command to create a copy of file from unix directory
Hi guys,
what is the Unix command to create a copy of file from unix directory?
Thanks a lot!If you haven't noticed, this is a ABAP forum.
You can go to the UNIX thread instead and post it there,
SAP on UNIX
You can expect answers there
Maybe you are looking for
-
Jabber - 9.2.2 outlook integration
Hi - we have integrated the CUPS - 9.1.1 with CUCM 9.1.2 and all the End users are manually created not sync through LDAP. But the User ID is same in both CUCM, CUPS which is in AD. When ever user logged in to Jabber with the Domain they able to se
-
Hi, Recently I installed a MSI Max2 Motherboard/P4 1.8Ghz with Maxtor 7200rpm ATA133 harddisk and Windows98. The bootup to Windows98 is very slow. The Windows98 startup screen will stay for at least 30s before going to the desktop. What could be the
-
Closing one help file closes another
Hi y'all, I've searched and searched for an answer to this so I hope someone can help. I want to create a small floating window that acts as an 'always on top' menu with links to a full-screen help file. I want the user to be able to close the full s
-
IPhone not compatible with iPhone dock
Hi, I've been using my iPhone with both the original iPhone dock and the universal dock for a loooong time, but the past few months there has been a problem. When the iPhone is connected to the iPhone dock/universal dock it says (rough translation):
-
How can i write two ?DDL in one query
how can i write two ?DDL statment in one query?