CURL을 사용하여 FTP를 통해 가장 오래된 파일을 삭제하는 방법은 무엇입니까?

CURL을 사용하여 FTP를 통해 가장 오래된 파일을 삭제하는 방법은 무엇입니까?

CURL을 사용하여 파일 서버의 폴더에 FTP로 연결한 다음 해당 폴더에 있는 파일 수를 계산하는 스크립트를 작성하려고 합니다. 파일이 5개 이상인 경우 가장 오래된 파일을 삭제하세요.

CURL을 사용하여 FTP를 통해 파일을 삭제하는 방법을 알고 있지만 가장 오래된 파일 이름을 계산하고 가져오는 것은 길을 잃었습니다.

답변1

컬링으로는 그렇게 할 수 없을 것 같아요. curl -l디렉토리 내용을 나열하고, 일치 항목 수를 계산하고, 날짜별로 정렬하고, rm를 사용하려면 실행해야 합니다 curl -Q.

시스템이 지원하는 경우퓨즈(대부분의 경우) 원격 디렉터리를 파일 시스템으로 마운트하는 것이 좋습니다. 이 접근 방식을 사용하면 문제를 두 가지 개별 작업, 즉 원격 파일을 마운트하여 액세스하는 작업과 로컬 파일인 것처럼 처리하는 작업으로 나눌 수 있습니다. 당신은 그것을 사용할 수 있습니다컬 파일 시스템원격 설치용.

mkdir ftp.example.com
curlftpfs ftp.example.com ftp.example.com
cp -p /path/to/local/file ftp.example.com/remote/dir/

이제 디렉토리에서 가장 오래된 파일을 찾는 가장 쉬운 방법은 zsh와 해당 파일을 사용하는 것입니다.글로벌 예선. 디렉토리에서 작업 ftp.example.com/remote/dir/:

files=(*(mm))                # Om = sort by date, youngest first
if ((${#files} > 5)); then
  rm $files[-1]              # remove the last file
  # rm $files[6,-1]          # remove all but the 5 youngest files
fi

관련 정보