대규모의 업데이트된 데이터베이스 덤프가 있는 사이트를 미러링하고 싶습니다. 매뉴얼 페이지를 읽은 후에도 -N
및 옵션과 옵션이 어떻게 결합되는지 완전히 이해하지 못했습니다 .-c
wget
가급적이면 wget을 사용하여 파일을 다운로드하는 방법이 있습니까?
- 서버의 타임스탬프가 로컬 타임스탬프보다 최신인 경우 대체 로컬 파일을 다운로드하세요.
- 서버의 타임스탬프가 로컬과 동일하지만 원격 크기가 더 큰 경우 wget은 다운로드를 계속합니다.
서버에서 수정 시간 전송을 지원하는 것으로 알고 있습니다.
답변1
이것wget 매뉴얼더 많은 정보가 있습니다 man wget
:
다음 두 가지 조건 중 하나가 충족되면 파일은 새 파일로 간주됩니다.
- 이 이름을 가진 파일이 아직 로컬에 존재하지 않습니다.
- 해당 이름을 가진 파일이 존재하지만 원격 파일의 수정 시간이 로컬 파일보다 최신입니다.
이를 달성하기 위해 프로그램은 로컬 및 원격 파일의 마지막 수정 시간을 알아야 합니다. 우리는 이 정보를 파일의 타임스탬프라고 부릅니다.
GNU Wget의 타임스탬프는
--timestamping
( ) 옵션을 사용하거나 를 통해-N
활성화 됩니다.wgetrc
. 이 옵션을 사용하면 다운로드할 각 파일에 대해 Wget은 동일한 이름의 파일이 로컬에 존재하는지 확인합니다. 그렇다면 원격 파일이 오래된 경우 Wget은 해당 파일을 다운로드하지 않습니다.로컬 파일이 존재하지 않거나 파일 크기가 일치하지 않으면 Wget은 타임스탬프에 관계없이 원격 파일을 다운로드합니다.
간단히 말해서, -N
요청한 대로 수행하십시오.