我正在使用以下脚本重命名远程主机上的文件。我想连接到远程计算机,然后在远程服务器上重命名文件。
#!/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
$
我可以看到文件没有被重命名,也没有抛出错误。 有人可以帮我这是什么问题