새 업데이트를 적용하기 전에 DST 구성을 어떻게 백업합니까?

새 업데이트를 적용하기 전에 DST 구성을 어떻게 백업합니까?

시간대의 "일광 절약 시간" 구성을 확인하려면 다음 명령을 사용할 수 있습니다. zdump -v <timezone>
그러나 때로는 국가의 정책이 변경되는 경우도 있습니다. 다음 명령을 통해 새 업데이트를 다운로드하고 적용할 수 있습니다. zic <timezone>
예를 들어(이는 단지 예일 뿐이며 호주에는 변경 사항이 없습니다):

  [root@test DST]# zdump -v Australia/Canberra | grep '2023'
  Australia/Canberra  Sat Apr  1 15:59:59 2023 UTC = Sun Apr  2 02:59:59 2023 AEDT isdst=1 gmtoff=39600
  Australia/Canberra  Sat Apr  1 16:00:00 2023 UTC = Sun Apr  2 02:00:00 2023 AEST isdst=0 gmtoff=36000 
  Australia/Canberra  Sat Sep 30 15:59:59 2023 UTC = Sun Oct  1 01:59:59 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 30 16:00:00 2023 UTC = Sun Oct  1 03:00:00 2023 AEDT isdst=1 gmtoff=39600
  [root@test DST]# zic australasia
  [root@test DST]# zdump -v Australia/Canberra | grep '2023'
  Australia/Canberra  Sat Apr  2 16:59:59 2023 UTC = Sun Apr  2 02:59:59 2023 AEDT isdst=1 gmtoff=39600
  Australia/Canberra  Sat Apr  2 17:00:00 2023 UTC = Sun Apr  2 02:00:00 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 29 16:59:59 2023 UTC = Sun Oct  1 01:59:59 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 29 17:00:00 2023 UTC = Sun Oct  1 03:00:00 2023 AEDT isdst=1 gmtoff=39600

문제가 발생하여 변경 사항을 되돌리려면 어떻게 해야 합니까? 이전 구성을 백업한 다음 새 변경 사항을 적용할 수 있는 방법이 있습니까? 백업이 가능하다면 어떻게 복원하나요?

답변1

에서 man tzfile:

... tzset(3)...에서 사용하는 시간대 정보 파일은 일반적으로 /usr/lib/zoneinfo 또는 /usr/share/zoneinfo 디렉토리 중 하나에서 찾을 수 있습니다.

그리고 man zic말했다:

/usr/local/etc/zoneinfo

   Standard directory used for created files.

다음 두 디렉터리를 백업하는 것이 좋습니다.

for d in /usr/lib/zoneinfo /usr/share/zoneinfo /usr/local/etc/zoneinfo
do
  [ -d "$d" ] && rsync -HAXa --delete "$d/" "$d.backup/"
done

나중에 복원해야 하는 경우:

for d in /usr/lib/zoneinfo /usr/share/zoneinfo /usr/local/etc/zoneinfo
do
  [ -d "$d.backup" ] && rsync -HAXa --delete "$d.backup/" "$d/"
done

관련 정보