美文网首页
centos6.9的时区同步问题解决过程

centos6.9的时区同步问题解决过程

作者: 朱飞 | 来源:发表于2018-12-26 14:41 被阅读22次

    最近在centos6.9系统遇到个定时任务(crontab)和系统日志时间与系统时间不一致的问题;

    问题描述

    在查看现网数据库备份文件是发现,备份文件的生成时间与备份脚本中date命令的时间不一致,脚本在crontab执行时,date命令输出的时间比系统时间完了8小时。

    如图:文件的生成时间为2018-12-21 02:12,但是压缩包的时间为2018-12-20

    备份脚本中压缩命令为:tar czf ./gw_data_center_`date '+%m-%d-%Y_%H-%M-%S'`.sql.tar.gz ./gw_data_center.sql 

    备份文件时间截图   

    查看本地时间查看问题

    写个简单脚本(testDate.sh)

    [root@lypt-storage1 zhufei]# cat testDate.sh

    #!/bin/bash

    echo `date -R` >> 2.log

    export TZ='Asia/Shanghai'

    echo "`date '+%m-%d-%Y_%H-%M-%S'`" >> 1.log

    测试时间脚本在crontab中执行,发现在crontab执行下结果为

    [root@lypt-storage1 zhufei]# cat 2.log

    Wed, 26 Dec 2018 05:51:01 +0000

    直接在控制台执行

    [root@lypt-storage1 zhufei]# date -R

    Wed, 26 Dec 2018 13:51:01 +0800

    可以看到手动执行的结果时间正常,但是crontab执行date的结果晚了8小时。

    问题升级

    重启crond、rsyslog后,crontab任务不能按照时间点执行,且系统日志时间也晚了8小时。

    问题解决

    在执行cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime、export TZ='Asia/Shanghai'之后问题都未能解决。

    回到刚才的testDate.sh脚本,发现在export TZ='Asia/Shanghai'后date -R的执行结果时间与系统时间一致,且时区变为了东八区。

    那么,在/etc/init.d/crond和/etc/init.d/rsyslog中加入export TZ='Asia/Shanghai'后能否成功呢?

    结果:加入后重启crond和rsyslog,问题得到了解决。

    疑问

    其实,问题得到了解决,但是本质并没有得到解决:

    1)、明明在~/.bashrc和/etc/profile中都已经配置了export TZ='Asia/Shanghai',为什么没有生效?

    2)、hwclock --showtime与系统时间一致, hwclock --showtime(硬件真正时间)也比系统时间满了8小时,难道crontab和rsyslog是取得硬件时间?------->通过其他主机查看,取得并不是硬件时间。

    3)、难道是centos6.9的影响?可能这个原因影响比较大

    总结:通过/etc/init.d/server_name来定义环境变量是之后解决单独问题的一个方法。

    相关文章

      网友评论

          本文标题:centos6.9的时区同步问题解决过程

          本文链接:https://www.haomeiwen.com/subject/lfuhlqtx.html