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]
sftp
fish
http(s)
답변2
다음 명령을 사용하여 파일 시스템으로 마운트할 수 있습니다.curlftpfs
.
그런 다음 복사를 사용하십시오 find
.
예를 들어:
mkdir /tmp/mountpoint
curlftpfs ftp://example.com/ /tmp/mountpoint/
cd /tmp/mountpoint
find -mtime +90 -exec cp {} /dest/path/ \;
더 나은 해결책이 있다고 생각합니다.