又是生产环境中的奇葩问题。明明已经修改了时区,但是发现时间还是不准确,仍然是美国时间,使用timedatectl查看的时候,发现Local time没有设置成CST中国时区?

百度了一下,有网友说可以修改/etc/profile文件(修改完该文件之后,需要使用source /etc/profile,测试后,发现时间修改过来了,但是使用date -R查看时区的时候,时区还是UST),直接在这个文件中设置时区,大佬说,不可行。然后提供了一种解决方式:

首先需要检查
ll -h /usr/share/zoninfo/Asia/Shanghai
发现没有这个文件,然后从正常机器上该文件拷贝到这个位置,然后就神奇的发现,再次使用timedatectl命令的时候,就会发现这个命令查看时间的时候,发现可以Local Time已经修改成CST,哈哈哈,开心。

遗留问题:
采用修改/etc/profile文件的方式,使用timedatectl发现Local Time 还是UST,并且使用ansible批量使用date查询的时候,发现时间还是不正确。

但是采用大佬的方式,使用ansible批量date的时候,就会发现时间是正确的,还是相信大佬吧。