[Ssh-sftp-perl-users] Net::SSH::Perl stdout redirection
Brought to you by:
dbrobins
From: Uday K. M. <umo...@me...> - 2007-01-05 16:43:43
|
#!/usr/bin/perl use Net::SSH::Perl; use threads; use threads::shared; my $date : shared; my $i : shared = 1; my @stdout : shared; my @stderr : shared; my @exit : shared; print "Starting Thread date...\n"; $thr1 = threads->new( sub { while($i==1) { $date = `date +%Y%m%d`; $date += ""; $date .= "0000"; } } ); print "Starting SSH...\n"; sleep(2); $thr2 = threads->new(sub { my $ssh = Net::SSH::Perl->new("host"); $ssh->login("user", "password"); my ($stdout,$stderr,$exit) = $ssh -> cmd("tail -f /tmp/file_$date"); #print STDOUT (`ssh user\@host \'tail /home/omni/tickets/\'`."grnti_$date"); }); while (<STDOUT>) { ($Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10,$Fld11, $Fld12,$Fld13,$Fld14,$Fld15,$Fld16,$Fld17,$Fld18,$Fld19,$Fld20,$Fld21, $Fld22,$Fld23,$Fld24,$Fld25,$Fld26,$Fld27,$Fld28,$Fld29,$Fld30,$Fld31,$Fld32,$Fld33) = split(' ', $_, 9999); while (($_ = &Getline0(),$getline_ok)) { print _BIN_BASH "echo \"insert into cause_history (ddate,location,cause,input,output) values(\\\"" . $Fld5 . $Fld6 . "\\\",\\\"" . substr($Fld29, 1, 1) . "\\\",\\\"" . substr($Fld29, 2, 3) . "\\\",\\\"" . $Fld32 . "\\\",\\\"" . $Fld33 . "\\\")\""; } } sub Getline0 { if ($getline_ok = (($_ = <>) ne '')) { ($Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10,$Fld11, $Fld12,$Fld13,$Fld14,$Fld15,$Fld16,$Fld17,$Fld18,$Fld19,$Fld20,$Fld21, $Fld22,$Fld23,$Fld24,$Fld25,$Fld26,$Fld27,$Fld28,$Fld29,$Fld30,$Fld31,$Fld32,$Fld33) = split(' ', $_, 9999); } $_; } $i = 0; sleep(3); exit; |