次のように、利用可能なコマンドがほとんどないLinuxシステムがあります/bin
。
/bin# ls
ash chattr clockdiff dd dumpkmap fdflush gunzip linux32 ls mktemp mt pidof printenv rmdir setserial su tracepath umount watch
busybox chgrp cp df echo fgrep gzip linux64 lsattr more mv ping ps run-parts sh sync tracepath6 uname zcat
cat chmod cpio dmesg egrep getopt hostname ln mkdir mount netstat ping6 pwd sed sleep tar traceroute6 usleep
catv chown date dnsdomainname false grep kill login mknod mountpoint nice pipe_progress rm setarch stty touch true vi
/usr/share/zoneinfo
しかも目次もありません。
では、このコマンドを使用してタイムゾーンをどのように設定しますか?また、他のホストからリモートでタイムゾーンと日付を同期する必要があります。
env変数を試しましたが、うまくTZ
いきません。たとえば、次のようになります。
root@xxx:/bin# date
Wed Aug 31 12:02:41 UTC 2023
root@xxx:/bin# TZ=America/New_York date
Thu Aug 31 12:03:50 America 2023
root@xxx:/bin# date
Thu Aug 31 12:04:58 UTC 2023
TZを設定した後は時間は変わりません。
ベストアンサー1
タイムゾーンファイルがない場合でも、変数にTZ
タイムゾーンを記述してタイムゾーンを指定できます(参照:man tzset
詳細はこちら)。
最小の形式は、タイムゾーン名の後にUTCのタイムゾーンオフセットが続くことです。
TZ=CEST-2
中央ヨーロッパ夏時間または
TZ=EDT4
東部の夏時間。
異なる時間オフセット(冬/夏、夏時間など)間の変換は、2つのオフセットを指定して説明できます。変更される日付はman tzset
ニュージーランドの例です。
TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"
時するタイムゾーンファイルはTZ
目的を示すためにコロンで始まる必要があります。
TZ=:America/New_York