我的要求是将文件和文件夹从SFTP远程位置传输到unix位置.我是perl和shell脚本的新手,这一直非常令人困惑.我尝试使用sftp foreign中的rget命令,如下所示.但它不起作用,也没有转移.从sftp服务器复制后如何删除文件和文件夹?
use Net::SFTP::Foreign;
my $host = "sftp.elsevier.com";
my $remote_dir = "sample/host";
my $localdir = "sample/local";
my $username = "username";
my $password = "password";
my $debug = 0;
$sftp = Net::SFTP::Foreign->new($host, timeout => 240,user => $username, password => $password) or $newerr = 1;
push @ERRORS, "Can't sftp to $host: $!\n" if $newerr;
myerr() if $newerr;
print "Connected to $host\n";
$sftp->rget($remote_dir, $localdir) or $newerr = 1;
push @ERRORS, "Cant tranfer\n" if $newerr;
myerr() if $newerr;
$sftp->disconnect if $newerr;
print "Files are …Run Code Online (Sandbox Code Playgroud)