Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^3: Net::OpenSSH rsync_get/rsync_put

by salva (Abbot)
on Nov 28, 2013 at 08:47 UTC ( #1064769=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Net::OpenSSH rsync_get/rsync_put
in thread Net::OpenSSH rsync_get/rsync_put

Post the code where you call Net::OpenSSH constructor.

Also, enable the module debugging mode and post the output here:

$Net::OpenSSH::debug = -1;


Comment on Re^3: Net::OpenSSH rsync_get/rsync_put
Download Code
Re^4: Net::OpenSSH rsync_get/rsync_put
by shivangi (Initiate) on Nov 28, 2013 at 11:55 UTC

    Hi Salva, thanks for the quick replies. PFB the output + constructor code.

    .... .... ....... for my $_entry (@_hosts) { eval { $_ssh{$_entry} = Net::OpenSSH->new($_entry, us +er=>$config{_ssh_user}, password=>$config{_ssh_passwd}, async => 1, master_opts => [-o => "St +rictHostKeyChecking=no"]); if($_ssh{$_entry}->error) { die CLI::Exception::SSHConnectExceptio +n->new() ; } else { $logger->debug("Successfully establis +hed SSH connection with ", $_entry); } }; if(catch my $_e) { if ($_e->isa('CLI::Exception')) { $logger->error($_e->description, " wit +h ", $_entry); print $_e->description." with $_entry +\n"; } } } if($_command eq "getfile") { for my $_entry (@_hosts) { $_pid{$_entry} = $_ssh{$_entry}->rsync_get({as +ync => 1, stderr_fh=>$fh, progress=> 1, recursive => 1}, "/home/shagu +n/check.c", "/home/shivangi/") or ($logger->error("rsync_get to $_entry failed") + and print "rsync_get to $_entry failed\n"); } } elsif($_command eq "putfile") { for my $_entry (@_hosts) { $_pid{$_entry} = $_ssh{$_entry}->rsync_put({as +ync => 1, stderr_fh=>$fh, recursive => 1, progress => 1 }, "/home/shi +vangi/shwetabh.img", "/home/shagun/") .... ... ... .. When i execute the code with debug mode enabled, output is: garfield:/home/shivangi/CLI_14/lib1 # ./Application.pl garfield>putfile region-group groupB # open_ex: ['ssh','-O','check','-T','-S','/root/.libnet-openssh-perl/r +oot-10.112.35.43-3848-813787','-l','root','10.112.35.43','--'] # _waitpid(3981) => pid: 3981, rc: # open_ex: ['rsync','-e','ssh -S /root/.libnet-openssh-perl/root-10.11 +2.35.43-3848-813787','--blocking-io','-q','--recursive','--progress', +'--','/home/shivangi/shwetabh.img','root@10.112.35.43:/home/shagun/'] # open_ex: ['ssh','-O','check','-T','-S','/root/.libnet-openssh-perl/r +oot-10.112.32.56-3848-476728','-l','root','10.112.32.56','--'] # _waitpid(3984) => pid: 3984, rc: # open_ex: ['rsync','-e','ssh -S /root/.libnet-openssh-perl/root-10.11 +2.32.56-3848-476728','--blocking-io','-q','--recursive','--progress', +'--','/home/shivangi/shwetabh.img','root@10.112.32.56:/home/shagun/'] # open_ex: ['ssh','-O','exit','-T','-S','/root/.libnet-openssh-perl/ro +ot-10.112.35.43-3848-813787','-l','root','10.112.35.43','--'] # _waitpid(4236) => pid: 4236, rc: # open_ex: ['ssh','-O','exit','-T','-S','/root/.libnet-openssh-perl/ro +ot-10.112.32.56-3848-476728','-l','root','10.112.32.56','--'] # _waitpid(4237) => pid: 4237, rc:
      May STDOUT had been previously redirected in your script to some other place? I can not imagine any other reason causing that behavior.

      In Linux you can add the following perl code to discover where STDOUT is going:

      system 'ls -l /proc/$$/fd/1';

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1064769]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2015-07-05 09:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (61 votes), past polls