FTP: 전송을 시작하기 전에 디스크에서 파일이 차지하는 총 공간 확인

FTP: 전송을 시작하기 전에 디스크에서 파일이 차지하는 총 공간 확인

SFTP 서버에서 여러 폴더, 여러 파일 등 대량의 데이터를 다운로드하고 있습니다. 내가 다운로드하는 모든 항목의 그래프는 나뭇가지로 가득 찬 숲처럼 보입니다.

프로젝트의 현재 아이디어는 다음과 같습니다.

  1. 모든 파일을 로컬 환경으로 FTP로 전송
  2. 모든 파일이 로컬 환경에 있으면 압축을 푼다.
  3. 각 파일에 대해 데이터 무결성 검사를 실행합니다.
  4. 자동으로 구성된 스토리지를 사용하여 3단계를 통해 압축이 풀린 모든 데이터를 데이터베이스 시스템으로 푸시합니다.

AWS의 EC2 인스턴스에 연결된 EBS 볼륨에 모든 데이터를 로컬로 저장합니다. 위의 첫 번째 단계를 시작한 후 인스턴스로 돌아와 보니 EBS 볼륨이 가득 찼습니다. 그래서 하드 드라이브의 크기를 두 배로 늘리고 첫 번째 단계를 다시 시작했습니다. 그리고 몇 시간 후에 볼륨이 다시 꽉 찼다는 사실을 발견했습니다.

위의 프로세스를 작성한 후에는 한 번에 매우 많은 공간을 차지하지 않도록 데이터의 여러 하위 집합을 반복적으로 처리하는 일부 스크립트를 개발하는 것의 가치를 알 수 있습니다. 하지만 저는 게으르게 몇 시간 안에 엄청난 양의 EBS 볼륨을 프로비저닝하고, 이 모든 작업을 한 번에 수행하여 몇 시간의 개발 시간을 절약하고 싶었습니다.

SFTP(Ssh 없음, 다른 프로토콜 없음)를 통해서만 데이터에 액세스할 수 있다는 점을 감안할 때 이러한 모든 파일이 디스크에서 얼마나 많은 공간을 차지하고 있는지 알려줄 수 있는 FTP 명령이 있습니까? 이 정보를 사용하여 구성할 EBS 볼륨 크기의 하한을 알고 싶습니다.

답변1

lftpdu모든 것을 재귀적으로 나열하고 요약하는 sftp(또는 아마도 lftp가 지원하는 모든 프로토콜)를 통해 실행할 수 있는 내장 명령이 있습니다 .

$ lftp sftp://user@hostname/
lftp HOST:~> du -s
… wait a while …
1656724 .

lftp는 캡슐화되어 있습니다.더반,우분투, 그리고여러 RPM 기반 배포판.

관련 정보