FTP를 통해 특정 날짜 범위 내의 파일을 전송할 수 있습니까?

FTP를 통해 특정 날짜 범위 내의 파일을 전송할 수 있습니까?

FTP 서버에서 새 서버로 많은 수의 파일을 전송해야 합니다. 파일이 수천개 있을텐데 최근 3개월 이내에 업로드된 파일로만 제한하고 싶은데 가능할까요? 가능하다면 어떨까요?

또한, 실제 다운로드를 시작하기 전에 다운로드 크기를 알 수 있나요?

감사해요

답변1

당신은 그것을 사용할 수 있습니다lftp이렇게 하려면 해당 mirror명령을 사용하십시오. 맨페이지의 일부는 다음과 같습니다.

  mirror [OPTS] [source [target]]

   Mirror specified source directory to local target directory. If target
   directory  ends  with  a  slash,  the source base name is appended to 
   target directory name. Source and/or target can be URLs pointing to 
   directories.


[cut...]
        -N, --newer-than=SPEC    download only files newer than specified time
            --on-change=CMD      execute the command if anything has been changed
            --older-than=SPEC    download only files older than specified time
[...]

실제로 많은 유용한 옵션이 있으므로 매뉴얼 을 살펴보십시오 mirror. Lftp 는 또는 같은 다른 액세스 프로토콜과 함께 사용할 수도 있습니다 .--allow-chown--allow-suid--parallel[=N]sftpfishhttp(s)

답변2

다음 명령을 사용하여 파일 시스템으로 마운트할 수 있습니다.curlftpfs.
그런 다음 복사를 사용하십시오 find.
예를 들어:

mkdir /tmp/mountpoint
curlftpfs ftp://example.com/ /tmp/mountpoint/
cd /tmp/mountpoint
find -mtime +90 -exec cp {} /dest/path/ \;

더 나은 해결책이 있다고 생각합니다.

관련 정보