Переименование удаленного файла с использованием Net :: SFTP :: Foreign - PullRequest
0 голосов
/ 25 февраля 2019

Я использую приведенный ниже скрипт для переименования файла на удаленном хосте.Я хочу подключиться к удаленной машине, а затем переименовать файл на удаленном сервере.

#!/u01/app/perl-5.28/bin/perl

use strict;
use Net::SFTP::Foreign;

my %dirlist;
my $host='x.x.x.x';
my $sftp;
my $RemFile="/tmp/tempfile";
my %args = (
    user     => 'netcrk',
    password => '*******',
    #more     => '-v',
    autodisconnect => 0
);



sub ConnToSftpHost
{
 my $h=shift;
 print "Connecting to host $h \n";
 $sftp = Net::SFTP::Foreign->new($h, %args);   # Check whether succeeded or failed!
 if ( $sftp->error ) {
     die qq(Could not establish the SFTP connection);
 }
 $sftp->die_on_error("SSH connection failed");
}

sub RenameRemFile
{
   my $old=shift;
   my $new=$old.".Finish";
   print "Renaming Old File: $old \n";
   $sftp=>rename($old,$new);
}

ConnToSftpHost($host);
RenameRemFile($RemFile);
$sftp->disconnect;

$ ./renamesftp.pl
Connecting to host x.x.x.x
Renaming Old File: /tmp/tempfile
$

Я мог видеть, что файл не переименовывается, а также не выдается ошибка.Может кто-нибудь, пожалуйста, помогите мне в чем проблема здесь

...