使用Net :: SFTP :: Foreign重命名远程文件

时间:2019-02-25 10:18:03

标签: perl sftp move

我正在使用以下脚本重命名远程主机上的文件。我想连接到远程计算机,然后在远程服务器上重命名文件。

#!/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
$

我可以看到文件没有被重命名,也没有抛出错误。 有人可以帮我这是什么问题

0 个答案:

没有答案