11.11.11.11/:/path/from
(Ubuntu 시스템)에 있는 원격 디렉터리(SSH 활성화)가 있습니다.백만작은 .txt
작은 파일, 간단한 ls
명령 실행 및 /path/from/
WinSCP를 사용하여 열기도 가능하므로 디렉터리 열기가 불가능합니다.백만 파일 수.
내 목표는 특정 이름 패턴을 가진 수천 개의 파일을 찾는 것입니다.그리고다른 원격 위치(예 22.22.22.22:/path/to
: )에 복사합니다.
지금까지 시도한 내용은 다음과 같습니다.
scp --exec=`find /path/from -name 'A*random*' -mtime +0 -mtime -10` [email protected]:/path/to
/path/from/
하지만 디렉터리에 실제로 수백만 개의 파일이 포함되어 있다고 말했듯이 그렇게 하는 데는 아주 오랜 시간이 걸립니다.
더 빠르게 만들기 위한 제안 사항이 있나요? 사용 rsync
? 어떻게 해야 하나요? 마지막 수정 날짜를 사용하여 결과를 제한하는 방법만 알고 있으므로 find
결과를 특정 숫자로 제한하려면 어떻게 해야 합니까 ?1000
-mtime
답변1
아마도 find
이를 결합 하여 cpio
한 컴퓨터의 많은 파일에서 스트림을 생성하고 cpio
다른 컴퓨터에서 파일을 추출할 수 있습니다.
ssh user@source "cd sourcedir && find ./ -xdev -name 'A*random*' -print | cpio -o -Bav -H crc" | ssh user@target "cd destinationdir && cpio -i -vumd"
이 (테스트되지 않은) 솔루션은 다음을 기반으로 합니다.https://www.netroby.com/view/3602. 여기서는 find
및 의 매개변수에 대한 설명을 찾을 수 있습니다 cpio
.
답변2
노력하다locate
이 응용 프로그램에는 find
너무 느린 것 같습니다.
파일을 찾는 더 빠른 도구가 있습니다.
locate
.locate
최신 파일을 찾기 위해 업데이트해야 하는 데이터베이스를 사용합니다 .updatedb
사용된 데이터베이스를 생성하거나 업데이트합니다locate
. 데이터베이스가 이미 존재하는 경우 변경되지 않은 디렉터리를 다시 읽지 않도록 해당 데이터가 재사용됩니다.find
이 업데이트 프로세스는 데이터베이스가 업데이트될 때보다 매우 빠릅니다locate
(그리고 모든 파일을 찾을 때보다 훨씬 빠릅니다find
).
용법
만들다그리고 다음에는고쳐 쓰다데이터 베이스
sudo updatedb
찾다관련된 문서.
locate
몇 가지 유용한 옵션이 제공되지만find
.유용한 패턴귀하의 목적을 위해.scp
수정한 다음 또는 와 결합 할 수 있는 두 개의 명령줄을 사용하는 것이 좋습니다rsync
.파일 수를 제한할 수 있습니다.
--limit
/path/from/
하위 디렉터리에서만 검색하고 하위 디렉터리에서는 검색하지 않는 경우locate --regex --limit 1000 '/path/from/A.*random.*'
/path/from/
자체가 아닌 하위 디렉터리에서 검색하는 경우locate --regex --limit 1000 '/path/from/.*/A.*random.*'
man locate
자세한 내용은 참조하십시오 .
일반 메시지
2019-02-12
날짜당 하나의 하위 디렉터리( ,2019-02-13
...) 와 같이 각 디렉터리에 너무 많은 파일이 없도록 여러 하위 디렉터리를 사용하는 등 이러한 파일이 작성되고 저장되는 방식을 수정해야 할 수도 있습니다.아니면 더 좋은 점은 많은 사진 관리자가 사진 파일을 저장하는 것처럼,
- 매년 한 계층의 하위 디렉터리
- 해당 연도의 각 월에 대한 다음 수준 하위 디렉터리
- 파일을 저장하는 데 사용되는 매월 각 날짜의 마지막 수준 하위 디렉터리입니다.
일부 파일을 삭제할 수도 있습니다(예: 너무 오래된 파일인 경우).
답변3
- tar, zip 또는 폴더 아래의 모든 항목을 하나의
source.tar
파일로 압축합니다.tar -cf /sourcedirectory
그러나 이 작업은 이제 하나의 파일에 100,000개 이상의 파일을 모두 포함하므로 용량이 커집니다. - 원하는 방식으로 이 파일을 전송하세요.
- 대상에 도착하면
tar -xf source.tar
100,000개 이상의 파일이 포함된 원래 폴더 구조로 다시 압축을 풀거나 압축을 풉니다.