reason for asking this....after getting the line number executing below line also to get others details (no. of chars in file's 1st line & file inode) which is also working...
my intention is achieve this 2ssh cmds in one line.
[just fyi] ===> objective: This script ssh to many servers and looks for pattern in few log files and store in a local flat file in below format
line # of pattern found:total no. of chars in file's 1st line:file inode number
Script is working one, only concern im ssh to servers twice (first time to get the line of pattern & 2nd to get the rest of dtls). Now looking to optimize in 1ssh cmd to achieve both. appreciate your help
Last edited by Scott; 05-10-2010 at 03:06 AM..
Reason: Please use code tags
Using Net::SSH::Perl To Find A Pattern in a remote file and print info on matched file
Quote:
Originally Posted by radoulov
Or, of course, use Net::SSH:Perl if it's available.
Here's How You Can Do That:
Code:
#! /usr/bin/perl
use strict;
use warnings;
use Net::SSH::Perl;
my $user = '';
my $pass = '';
my $host = '';
my $port = 22;
my $DEBUG = 0;
my $attr = { debug => $DEBUG, port => $port, protocol => '2,1'};
my $cmd = qq~perl -lne 'if ( /(PAT_HERE)/ ) { printf "PATTERN: %s LINE: %d FILE: %s INODE %s", \$1, \$., \$ARGV, (stat \$ARGV)[1]; }' *~;
my $ssh = Net::SSH::Perl->new($host, %$attr);
$ssh->login($user, $pass);
my ($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print $stdout, "\n";
The above code expects you to replace the string "PAT_HERE" with the one you are looking for.
The code searches the files in the user-you-logged-in-as' ( $user ) home directory. If you want to search in other directories change the "cmd" line to something like this, where the the string " \/some\/dir\/* " is a directory you want to search:
Hello guys!
I am setting up a script to access a unix remote server. My problem is that when I put the ssh line "my host", the script does not wait for the server response asking for the password to execute the line in which I put the password, that is, I need to put a form in which script has a... (1 Reply)
Hi,
I need a shell script, which would search the result values from another files.
1)execute " select column1 from table_name" query on the table.
2)Based on the result, need to be grep from .wft files.
could please explain about this.Below is the way i am using.
#!/bin/sh... (4 Replies)
Hi,
I need to retrun multiple values
function errorFileCreation
{
echo "Before"
return -1 "Siva";
echo "Aftyer"
}
echo ${?} - This can be used to getting first value.
how can i get second one.
Advance Thanks...
Shiv (3 Replies)
how to login with ssh to remote system with out applying the remote root/user password
with rlogin we can ujse .rhosts file
but with ssh howits possible
plz guide (2 Replies)
Hi,
I have a script which does something like the below:
execute_some_script.sh $arg1 $arg2 `exec-some-cmd`
if then;
do something
else
do something else
fi
However, during some cases, there is an error saying:
line xxx: [: too many arguments
at the line number which has... (5 Replies)
Hi,
I am trying to use this command to backup my remote server:
ssh ftp nice -19 bru -cXiAf mail-02:/dev/nst1 /etc
When I run I get:
connect to address 205.150.86.5 port 544: Connection refused
connect to address 205.150.86.5 port 544: Connection refused
trying normal rsh... (1 Reply)
I think the $? returns 0 if the last issued command was successful and otherwise if not. But does anyone knows the value list that may be returned ? (or it is only zero/one ? )
Thanks in advance,
Abrahao. (3 Replies)
Sys: HP-UX 9000
In the calling script how do I 'read' the return/exit value of a called script?:confused:
THX in advance for any assistence.:) (1 Reply)