Я использую приведенный ниже скрипт для переименования файла на удаленном хосте.Я хочу подключиться к удаленной машине, а затем переименовать файл на удаленном сервере.
#!/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
$
Я мог видеть, что файл не переименовывается, а также не выдается ошибка.Может кто-нибудь, пожалуйста, помогите мне в чем проблема здесь