问题:
排查&处理步骤:
记一次linux系统下java程序输出日志时间不对问题排查
1、先确认一下系统时间是否正常:
date -R # 查看系统时区
2、如果系统时间正常,排查一下机器硬件时间:
# 查看硬件时间用hwclock或者clock命令 hwclock # 查看系统硬件时间 clock # 查看系统硬件时间
3、如果是硬件时间导致,可以将系统时间写入到硬件中:
hwclock -w # 将系统时间写入到硬件时间
4、如果上述还是有问题,日志输出时间还是不正确,那么可是系统读取默认环境变量导致,查看系统时区配置文件,检查时区是否正常:
cat /etc/sysconfig/clock #系统默认时区
5、如果以上步骤都正常,那么就只能重启服务器或者在环境变量中增加一段环境变量:
tzselect # 修改时区
回车后(enter)之后选择5选择9选择1选择1完成。接下来会看到消息,提示我们把TZ='Asia/Shanghai'加入到系统环境变量内。
修改环境变量:
vim /etc/profile
export TZ='Asia/Shanghai'
加载环境变量:
source /etc/profile # 更新系统变量
再次执行命令“date -R”验证时区是否更改,可以看到此时已经更改成了东八区。
此时在重启java服务发现日志已经正常了。。。