내 고용주는 유럽(CET)에 있으므로 일광 절약 시간제를 사용하므로 1년에 두 번 한 시간씩 왕복해야 합니다. 우리 서버는 다양한 위치의 클라우드에서 실행됩니다. 모든 인프라를 구축했던 직원들이 사라졌다. 그는 모든 서버(현재 Ubuntu 18.04, 20.04 및 22.04)에서 시스템 시간대로 UTC를 사용하기로 결정했습니다.
연중 시간에 따라 로그 파일에 표시되는 각 날짜에 정신적으로 1/2시간을 추가해야 하기 때문에 이는 이상적이지 않습니다(여름에는 +2시간, 겨울에는 +1시간). 일부 cronjob의 타이밍은 작업이 CET 정오에 실행되어야 하므로 일년에 두 번 조정되어야 합니다.
(여전히) UTC를 시스템 시간대로 사용하는 타당한 이유가 있나요? 아니면 cronjob과 로그 파일이 벽시계와 더 잘 정렬되도록 CET로 전환해야 합니까?
답변1
(여전히) UTC를 시스템 시간대로 사용하는 타당한 이유가 있나요?
네, 맞습니다! 2023년 10월 29일 02:30에 발생한 주요 이벤트를 생각해 보세요. 로그 메시지가 올바르게 생성되었습니다. (이 날짜/시간의 관련성은 유럽 전역의 시계가 그날 아침에 한 시간 뒤로 설정되고 CEST/CET의 경우 전환 시간이 그날 아침 오전 3시라는 것입니다.)
UTC를 실행하는 경우 타임스탬프는 명확합니다 * . CEST/CET로 변환해야 할 수도 있지만 절대 시간은 확실히 알고 있습니다. 반면, 현지 시간으로 달리는 경우에는 02시부터 03시 사이에 이번이 첫 번째인지 두 번째인지 먼저 판단해야 합니다. 로그 메시지 수에 따라 이 작업이 불가능할 수도 있습니다.
크론 작업이 문제가 되었지만 권장 사용 CRON_TZ
또는 타이머 단위로 마이그레이션systemd
또 다른 대답이 문제를 현명하게 해결할 것입니다.
*언급된 것처럼 가끔 윤초를 제외하고아코스타디노프
답변2
나는 로그를 읽는 데 어려움을 겪는 것을 정말로 이해합니다. 그러나 미국 및 독일 동료들과 로그 파일의 시간에 대해 논의하고 싶지 않습니다. 매년 약 2주 동안 일광 절약 시간제는 한 대륙에는 영향을 미치고 다른 대륙에는 영향을 미치지 않습니다. 개인적으로 이는 확실히 로컬에서 주로 사용되는 서비스(예: 인쇄 서버 - 애리조나에 있는 누군가가 독일 남부에 있는 내 프린터로 인쇄하는 것과는 다름)와 관련이 있지만 메일 서버 로그에서 UTC 이외의 다른 것을 발견했습니다. 타임스탬프가 혼란스럽습니다.
귀하의 cron 작업과 관련하여 저는 천천히 시스템 타이머 장치를 선호하여 좋은 ole crontab에서 벗어나려고 노력하고 있습니다. 그들은 OnCalendar=
밭을 가지고 있고,시간대 지정이 필요합니다.! 따라서 RFC 2324 전송은 베를린에서 오전 7시에 시작된다고 말할 수 있습니다.
예, 서버의 경우 UTC를 유지하세요. 그런데 솔직히 내 생각엔일관성여기에는 "밀이 행정적 아름다움을 고려한 것"보다 더 많은 것이 있습니다. 나머지 관리 범위/인접 팀 및 사용자가 CET를 기대한다면 꼭 CET를 사용하세요.모든 것이 작동해야 합니다.
편의를 위해:
1 나는 이상치일 수 있다. 내 기계식 시계도 UTC입니다.
답변3
서버는 항상 UTC를 저장해야 합니다. 현지 시간은 인간만이 볼 수 있는 프레젠테이션 계층 문제입니다. 사용자로서 타임스탬프가 있는 데이터를 보고 싶다면 서버가 어떻게 생각하는지에 관계없이 자신의 시간대로 보고 싶을 것입니다.
UTC는 모든 사람에게 명확하며(윤일/초 포함) 일광 절약 시간과 겹치지 않습니다(특별한 상황 제외).
현지 시간은 6개월마다 겹칠 수 있으므로 현지 시간을 타임스탬프로 사용하여 로그를 보면 3월에는 해당 시간이 누락된 것처럼 보이지만 10월에는 해당 시간이 있는 것으로 나타납니다.두 배.
답변4
UTC의 단점을 알 수 있습니다(현지 시간으로 정신적으로 변환하기 어렵습니다). UTC의 장점이나 문제점을 볼 수 없습니다. 모든 서버가 시간에 동의하도록 하는 것은 매우 중요합니다. 서버를 현지 시간으로 변경해보시면 빠르게 알 수 있습니다.
서버를 UTC로 유지하세요. 로그를 검사하는 데 도움이 되는 몇 가지 도구를 만드는 것을 고려할 수 있습니다. 예를 들어, 이러한 도구는 날짜를 현지 시간으로 표시할 수 있습니다. 또는 시간에 맞춰 로그를 밀접하게 그룹화합니다. 또는 읽을 수 없는 32바이트 ID를 "id1", "id2" 등으로 대체하여 동일한 작업에 속하는 로그 줄을 알 수 있습니다. 또는 거의 동일한 로그 라인 1000개를 삭제하세요.