在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 &
ping -i 5 x.x.x.x | awk -F '=' '{print $2 "=" $3 "=" $4 " --- " strftime()}'