Linux 시스템에서 열 수 있는 유일한 포트가 SSH(22)인 Windows 시스템으로 파일을 복사해야 합니다.
WinSCP를 사용하여 Linux 시스템에 연결할 수 있지만 문제는 필요한 폴더로 이동하려고 하면 해당 폴더에 수백만 개의 레코드가 포함되어 있기 때문에 WinSCP가 멈춘다는 것입니다.
기본적으로 어떤 파일을 복사하든 상관없이 최신 200개 파일만 복사할 수 있는 솔루션을 찾게 되어 기쁩니다.
어떤 아이디어가 있나요?
을 사용해 보았 ls -f | less
으나 효과가 없습니다.
답변1
WinSCP 요구 사항을 포기하고 사용할 의향이 있는 경우시빈대신 다음 두 줄을 사용하면 됩니다.
$ ssh linuxbox 'ls -t1 /path/to/files | head -200' > files.list
$ rsync -ave ssh --files-from=files.list linuxbox:/path/to/files local/dest
이는 WinSCP가 수백만 개의 파일로 구성된 GUI 이미지를 구축하려고 시도하지 않기 때문에 작동하지 않는 곳에서 작동합니다. 단순히 원격 장치에서 최근에 터치한 200개의 파일 목록을 요청하고 이름별로 로컬 컴퓨터로 전송합니다.
rsync
ssh
기본 Cygwin 설치에는 포함되지 않습니다 . 패키지 선택 화면이 나타나면 반드시 선택하세요.Cygwin 설치 프로그램.
답변2
귀하의 질문을 올바르게 이해했는지 확인하기 위해
Linux 시스템이 아닌 Windows 시스템 앞에만 앉을 수 있습니다. 그렇죠?
WinSCP의 기능에 익숙하지 않지만 WinSCP 설정 어딘가에서 추가 SCP/SSH 옵션을 지정할 수 있을 것입니다.
내 생각에 디렉터리에 포함된 파일을 나열하기 위해 WinSCP는 먼저 연결을 전달한 ssh
다음 ls
연결 이 압축을 사용하는지
확인합니다 ssh
. 이는 ssh
매개변수를 통해 수행 할 수 있습니다 -C
. ssh -C
대부분의 경우 이는 전송할 볼륨을 크게 줄여 과거에 많은 문제를 해결해주었습니다.
불행하게도 SCP 압축을 활성화하는 것은 약간 까다롭습니다. 에서 정의한 옵션 쌍을 정의하는 scp
매개변수를 얻었습니다 . 귀하의 경우에는 기본값을 사용할 수 있습니다 .-o
key value
ssh_config
Compression yes
no
그러나 압축은 대역폭을 감소시키지만 양쪽(호스트와 클라이언트)의 프로세서 로드를 증가시킵니다. 전송 중인 수백만 개의 파일이 압축되지 않은 일반 텍스트 파일인 경우 SCP 압축을 시도하겠습니다. 바이너리 파일인가요, 아니면 이미 압축된 아카이브인가요? SCP 압축을 사용하지 않겠습니다.
답변3
많은 수의 파일을 전송할 때 tar
UNIX 측에서 하나의 큰 파일(압축 가능)을 생성하기 위해 다른 보관 도구를 사용하는 것을 고려한 다음 여러 개의 작은 파일 대신 더 큰 파일을 전송합니다.
저는 Windows에 익숙하지 않고 어떤 보관 소프트웨어가 있는지도 모릅니다( zip
?).