问题的来由是在这里:
在cron里设定任务是在凌晨6点执行,检查日志时发现时间总是不对,是在22点左右的时间执行的。研究发现,任务是在本地时间的6点执行了,但不知为什么syslog中的时间都是为utc时间。
这里涉及到硬件时间,系统时间,本地时间几个概念,下面是涉及到一些命令操作:
设置时区的基本方法:
http://blog.sina.com.cn/s/blog_6c9d65a1010145st.html
1. sudo tzselect
pwsync@wepingwest:/etc/default$ date
Thu Apr 2 12:26:33 CST 2015
pwsync@wepingwest:/etc/default$ date -u
Thu Apr 2 04:26:55 UTC 2015
pwsync@wepingwest:/etc/default$ date -R
Thu, 02 Apr 2015 12:27:16 +0800
硬件时间:
pwsync@wepingwest:/etc/default$ sudo hwclock --show
Thu 02 Apr 2015 12:27:42 PM CST -0.317712 seconds
这里保证硬件时间也为localtime.
最后为了在syslog等日志中也显示本地时间,需要在/etc/default/rcS将utc设置成no.(需要重启系统)
为了将系统的时间保存在硬件上,需要
# hwclock --systohc
(http://blog.chinaunix.net/uid-26495963-id-3048079.html)
(http://www.111cn.net/sys/linux/58514.htm)