我開發一個腳本去一個服務器,並用Perl在ssh.I服務器中複製文件登錄到遠程服務器,比執行:MKDIR不通過ssh工作
* 我($ stdout,$ stderr,$ exit)= $ ssh-> cmd(「mkdir $ destFolder」& &「exit」); *
但MKDIR如果之後沒有命令。(我想拉幅機代碼hereo使用& &使用一堆commnads在同一個會話)
感謝。這裏是我的代碼纔有效。
#######################################################################
# Perl Module Included
#######################################################################
$|=1;
use warnings;
use Net::SSH::Perl;
use Net::SSH::Expect;
#######################################################################
# quit unless we have the correct number of command-line args
#######################################################################
$num_args = $#ARGV + 1;
if ($num_args != 4) {
print "\nNOT ENOUGH ARGUEMENTS!\n";
print "\nUSAGE:\nperl perl.pl yearMonthDay startTime endTime enodeB\n";
print "\nFOR EXAMPLE:\nperl perl.pl 20130806 1530 1545 001007_eNB \n";
exit;
}
#######################################################################
# saving the arguments for future use .
#######################################################################
$date=$ARGV[0];
$startTime=$ARGV[1];
$endTime =$ARGV[2];
$enb =$ARGV[3];
#######################################################################
# Intializing username , password and IP
#######################################################################
my $user = 'ejadeln';
my $pass = '[email protected]';
my $ip = '10.118.124.21';
#######################################################################
# Intializing logPath , fileName and hostPath
#######################################################################
my $path = "/var/opt/ericsson/nms_umts_pms_seg/segment1/XML/SubNetwork=ONRM_ROOT_MO_R/MeContext="."$enb/";
my $endTime_t = $endTime;
my $host = "/home/$user";
my $destId = "$enb.$date.$startTime";
my $destFolder = "/home/$user/"."$destId";
print "$destFolder\n";
for ($i = 0 ; $startTime < $endTime_t ; $i++)
{
$endTime = $startTime + 15;
$ofEndTime = substr($endTime, -2);
if ($ofEndTime >= 60) {
$endTime = $endTime - $ofEndTime + 100;
}
our $file = "A"."$date."."$startTime"."-0400-$endTime-0400_SubNetwork=ONRM_ROOT_M'O,MeContext="."$enb"."_eNB_statsfile.xml";
$startTime = $startTime + 15;
$ofStartTime = substr($startTime, -2);
if ($ofStartTime >= 60) {
$startTime = $startTime - $ofStartTime + 100;
}
}
#######################################################################
# using ssh commands to log in into remote server
#######################################################################
my $ssh = Net::SSH::Perl->new($ip);
$ssh->login("$user","$pass");
#######################################################################
# Implementing copy commands on remote server using SSH
#######################################################################
my ($stdout,$stderr,$exit) = $ssh->cmd("mkdir $destFolder" && "exit");
$fileNum = $i+1;
print "$fileNum file copied\n";