SCP가 연결을 시도하는 시간을 제한하는 방법은 무엇입니까?


2

을 통해 'to_send'디렉토리의 모든 파일을 원격 서버에 복사하는 bash 스크립트가 scp있습니다. 스크립트는 scp각 파일에서 명령을 실행 하고 리턴 코드를 확인한 후 로컬 버전을 to_send 디렉토리에서 'sent'디렉토리로 이동합니다 (성공한 경우). 실패한 파일이 'to_send'디렉토리에 남아 있으면 다음에 스크립트를 실행할 때 전송을 시도 할 수 있습니다.

는 scp인터넷 연결을 통해 보낼 URL 및 비 표준 포트 번호를 사용합니다. 원격 서버에 scp연결할 수없는 경우 명령 의 각 인스턴스가 연결할 수 없는지 확인하는 데 약 2 분이 걸립니다. 전송할 파일이 하나 뿐인 경우 이는 끔찍한 오버 헤드가 아니지만 전송할 파일이 여러 개인 경우 문제가 발생할 수 있습니다.

연결 시도가 계속 시도되는 시간을 제한하는 방법이 있습니까? 아마도 ? 옵션을 ssh사용하여 -o옵션을 전달하면scp

답변:


3

-o ConnectTimeout=1010 초 후 시간 초과 와 같은 SSH 옵션을 전달할 수 있습니다 .

그러나 여러 파일을 복사하는 경우 rsync살펴볼 가치가 있습니다. 그리고 당신은 아마 사용하십시오 --contimeout 10에 대한 rsync명령.


고마워, 나는 rsync약간의 비트를 사용하지만 파일이 성공적으로 전송되었는지 확인한 다음 해당 파일을 로컬로 이동하고 선택한 형식으로 발생한 것을 기록하는 방법에 대한 핸들을 가지고 있지 않습니다. 아마도 --remove-source-files옵션을 사용하고 나서 어떻게 든 삭제 된 소스 파일을 백업하게합니다. 나는 그것에 대한 옵션을 찾을 수 없지만. 나는 그것이 또 다른 질문이라고 생각합니다. 전체 연결 시간 제한 문제는 내 상황에서 약간의 우연한 사례이지만 가능한 한 많은 예상되는 문제를 묶고 예기치 않은 문제가 시작될 때까지 기다립니다!
— Arronical

1
rsync를 사용하여 모든 파일을 전송하고 출력 (복사 된 파일 목록)을 다시 이동시킨 새 ssh 명령으로 파이프하려고합니다. 이것이 안전한지 확실하지 않지만 흥미로운 아이디어이며 연결 오버 헤드가 훨씬 낮습니다.
— Oli
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.