我已经看到许多与我的问题相关的主题,但没有一个可以回答我的问题。
Cron 在哪里查找时区?
root@awesome:~# date
Fri Feb 17 14:02:02 EET 2012
root@awesome:~# hwclock -r
Fri 17 Feb 2012 14:03:39 EET -0.815689 seconds
但是 Cron 仍然在 GMT 时区运行。(我必须让每个 cron 作业都多花 2 小时才能使其按时正常运行)
时区配置是否有错误?或者 Debian Linux 上还有更多时区配置,而我配置错了?(我已通过以下方式配置了时区tzselect
答案1
您必须重新启动 cron 守护程序才能使时区更改生效。
参考:http://wiki.debian.org/TimeZoneChanges
直接引用上面的链接...
重新启动守护进程和长时间运行的程序
更新区域信息文件后,您可能需要重新启动守护程序和其他长期运行的程序,以使它们使用新的区域信息。此类程序的示例包括 apache、bind、cron、fetchmail -d、inetd、mailman、sendmail 和 sysklogd。此问题的常见症状是看到日志文件(例如 /var/log/syslog)中的正确时间戳与错误时间戳混在一起。即使是“mutt”等交互式程序也可能继续使用旧的时区信息,直到重新启动它们。
答案2
请注意,这tzselect
实际上不会更改您的时区,而是为您收集信息以帮助您自行更改时区,这在将特定用户设置为具有与系统时区不同的时区时非常有用。更改系统范围内时区的推荐方法是运行dpkg-reconfigure tzdata
。
答案3
#dpkg-reconfigure tzdata
输入上面的配置命令并选择您的时区,请参考以下步骤:
和
保存设置。