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.