新しいアップデートを適用する前に、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.

次の 2 つのディレクトリをバックアップすることをお勧めします。

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

関連情報