在 Azure 上的 Linux 虚拟机启动后默认是 UTC 的时区。对很多应用要记录时间戳非常的不方便。
本文将介绍两种更改 Linux 时间戳的方法,供大家参考。
1.修改 /etc/localtime 文件
控制系统时区的文件是 /etc/localtime。只要把这个文件复制成相应时区的文件,系统时区就改成相应的时间了。
时区信息在:/usr/share/zoneinfo 里。比如需要把本机时区改成 Shanghai 的时间:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这两条指令都可以更改。
2.修改 TZ 变量
eport 可以看到系统变量。如果设置了 TZ 变量,系统将按 TZ 的变量设置本机的时区。且优先级比 /etc/localtime 高。
具体的命令是 export TZ=Asia/Shanghai
取消这个变量的命令是 unset TZ。
通过 date 可以查看目前的时间。
另外我们常用的带时间戳的 ping 记录,可以采用下面的命令实现:
ping 10.1.1.10 | awk '{print $0 strftime()}' >> /root/pinglog.txt &
关于如何修改网站默认时区的办法,也可以参考
这里。