2

如何使用 Perl SCP在远程服务器上验证复制的文件,或者是否可以?下面是我正在使用的 Perl 命令。我不能使用SSH,所以我的选择有限。

$scpe->scp("/u02/oraclebackup/$tar_file","HOST:/u04/orabkup/oraclebackup/oemp/");
4

1 回答 1

1

好的,我找到了解决我的问题的方法,虽然它不直接验证副本,但如果在预期错误之外出现错误,它将停止脚本。这是我的代码:

$scpe->error_handler( \&scp_errors );
$scpe->scp( "/u02/oraclebackup/$tar_file",
    "HOST:/u04/orabkup/oraclebackup/oemp/" );

#Error trapping with exception for known harmless error
sub scp_errors {
    my $line = shift;

    if ( $line =~ /scp timed out while trying to connect to/ ) { 
        return (0);
    } else {
        return (1);
    }   
}

这似乎解决了我的两个问题。谢谢@chrsblck

于 2013-07-19T15:00:44.600 回答