우리는 wget을 사용하여 미국 전역의 다른 공급 업체에서 데이터 파일을 다운로드합니다. 예를 들어 우리 서버는 EST 시간대에 있고, vendeor1의 시간대는 CST이고, vendor2의 시간대는 PST입니다.wget 파일 타임 스탬프 (현지 시간대)
wget의 기본 동작은 파일의 lastmodified 타임 스탬프가 원본의 원래 표준 시간대에 남아 있다는 것입니다. 로컬 서버 (EST) 시간대에서 마지막으로 수정 한 타임 스탬프는 어떻게 얻습니까?
예를 들어, file1은 캘리포니아에있는 vendor2의 서버 (PST/PDT)에서 다운로드됩니다. 마지막 수정 된 시간은 심지어 시간을 만들기 전에도 의미가 없습니다. 29 일 동부 서머 타임 01시 57분 0초 2016
우리가 "잘못"LASTMODIFIED 시간을 볼 수있는 이유는 금 9월입니다 실제 LASTMODIFIED 시간은 목 9월 인 29 22시 57분 0초 PDT 2016, 때문에 wget과의 킵입니다 소스의 타임 존에있는 시간. wget을 사용하여 EST, PST 및 주문 파일을 제외한 다른 서버에서 데이터를 다운로드 한 경우 수신자는 lastmodified를 기반으로 파일을 수정합니다. wget을 사용할 때 대상 서버의 시간대를 사용하는 쉬운 방법이 있습니까?
file1 = '..../yyyymmdd.zip'
>>> os.path.getmtime(file1)
1475204220.0
>>> os.path.getctime(file1)
1475253907.1713214
$ date -d @1475204220
Thu Sep 29 22:57:00 EDT 2016
$ date -d @1475253907.1713214
Fri Sep 30 12:45:07 EDT 2016
은이 LASTMODIFIED 파일과 시간대가없는 유닉스 스타일의 타임 스탬프 동료로 저장 Shouldnot (적어도 모든 파일 'LASTMODIFIED 타임 스탬프는 시대 이후 같은 tiemzone, 또는 unixtime에있을 것입니다)? 시간대가 없다면 서버가 어디에 있는지, 파일이 어디로 전송되는지 (파일의 타임 스탬프로 생성되는지)는 문제가되지 않습니다. 그렇다면 왜 wget이 그것을 수정합니까?
서버의 시간대를 GMT로 설정하는 것은 어떻습니까? ** wget -d **를 사용하면 HTTP 헤더에 ** GMT ** 시간대가 표시됩니다. – user2182349
시간대를 올바른 설정으로 두는 것이 더 좋습니다. 시간대를 조정하면 실행중인 다른 응용 프로그램에 예기치 않은 결과가 발생할 수 있습니다. – fivelements