Perl SCP을 사용하여 원격 서버에서 복사 한 파일을 확인하거나 가능할 수 있습니까? 아래는 내가 사용하고있는 Perl 명령입니다. 내 옵션이 다소 제한적이므로 SSH을 사용할 수 없습니다.Perl 및 SCP를 사용하여 복사 된 파일 확인
$scpe->scp("/u02/oraclebackup/$tar_file","HOST:/u04/orabkup/oraclebackup/oemp/");
Perl SCP을 사용하여 원격 서버에서 복사 한 파일을 확인하거나 가능할 수 있습니까? 아래는 내가 사용하고있는 Perl 명령입니다. 내 옵션이 다소 제한적이므로 SSH을 사용할 수 없습니다.Perl 및 SCP를 사용하여 복사 된 파일 확인
$scpe->scp("/u02/oraclebackup/$tar_file","HOST:/u04/orabkup/oraclebackup/oemp/");
좋아, 내 문제에 대한 해결책을 발견했습니다과 직접 사본을 확인하지 않습니다 동안 예상되는 하나의 옆에 에러가 발생했을 경우는 스크립트를 중지합니다. 여기 내 코드가 있습니다 :
$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
NP. 또한 'error_handler'를 설정하지 않으면 "간단한 'croak()'호출이 발생합니다. ['Carp'] (http://perldoc.perl.org/Carp.html#NAME)에 익숙하지 않다면, 그것을 바꾸는 것이 좋습니다;) – chrsblck
로컬로 원격 다시'cmp' 복사 로컬 아마도 신뢰할 수없는 ... 원격 측면에서 사용할 수 있습니까? 그리고, btw, 그것은 "scp"를 통해 "잘못된"사본을 얻을 수 있습니까? – jm666
@ jm666에 동의합니다. 네트워크에서 어떤 일이 발생하지 않는 한 거의 항상 성공적인 전송을 보장합니다. – squiguy
아마 나는 너무 조심스러워하고있을 것입니다. 이것은 cron에서 스크립트로 실행될 것이므로 직접 모니터링 할 수 없으며 향후 어떤 종류의 네트워크 문제가 발생할 수 있는지 알고 있습니다. 이것은 데이터베이스 복사본을 복사하기 때문에 로컬 복사본을 삭제하기 전에 괜찮 았는지 확인하고 싶었습니다. –