2017-03-13 8 views
0

내가 몇 가지 디렉토리와 FTP 서버에 연결하고, 깊은 수준의 몇 가지를 다운로드합니다. 여러 디렉토리에있을 수 있습니다, 같은 고유 한 파일 이름, 다른 타임 스탬프와, 각 파일의 최신 버전이 끝날 어디 알고는 없다 :이 디렉토리는 동일한 파일의 여러 버전이 포함되어 있습니다. 나는이 서버를 제어하지 않으며 그것이 어리석은 상황이라는 것을 쉽게 인정할 것이다.wget을 반복적으로 동일한 파일

--timestamping과 함께 wget을 사용하여 각 파일의 최신 버전을 가져오고 --no-directories 옵션을 사용하여 모든 파일을 최신 파일 세트로 압축합니다. 내 머리 속에는 서버의 모든 디렉토리를 재귀 적으로 반복하더라도 모든 파일의 최신 버전이 한 번에 한 곳에서 표시됩니다. 그러나 로컬 타임 스탬프가 FTP 서버의 타임 스탬프와 동일하다는 것을 수동으로 확인 했음에도 불구하고 많은 시간 파일을 다시 다운로드한다는 사실을 알고 있습니다.

은 wget의 타임 스탬프를 방해하는 무언가에 대한 --no-directories이 있습니까?

내가 발행하고 명령 행은 이것이다 :이 같은 단지 하나의 디렉토리를 대상으로하는 경우

wget -q --show-progress --no-directories -r -N -l inf ftp://user:[email protected]/ 

, 동작은 내가 (그 디렉토리에있는 파일의 부분 집합) 예상대로입니다 :

wget -q --show-progress --no-directories -r -N -l 1 ftp://user:[email protected]/subdir/ 

그러나 루트에서 시도하고 미러링하는 순간 타임 스탬프가 창 밖으로 나간 것처럼 보입니다.

답변

0

대답은 wget의 타임 스탬프는 시간에 대해 걱정하지 않습니다. 실제로는 재 다운로드 가치로서 어떤 차이를 처리하는 경우, 먼저 파일의 크기를 검사한다. 동일한 파일의 다른 버전을 사용하는 여러 디렉토리의 나의 경우에는 최신 파일이 있으면 이전 파일을 다운로드하게됩니다. 그런 다음 이전 파일이 있으면 최신 파일을 다운로드합니다. 즉, 재귀 적 다운로드를 수행하면 동일한 파일이 효과적으로 무작위 버전으로 여러 번 덮어 쓰게되므로 특정 파일의 최신 버전을 유지할 가능성이 거의 없습니다.

이 (어떤 장소가 아니라 다른 사람)이 기술적으로 wget을 워드 프로세서에서 언급에도 불구하고 사용자의 직관의 끔찍한 배신처럼 보이지만, 거기 당신은 간다. 타임 스탬프는 타임 스탬프와 관련이 거의 없습니다.