LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1434|回复: 1

crontab 时区问题

[复制链接]
发表于 2008-1-24 11:40:43 | 显示全部楼层 |阅读模式
有台跑resin的机器每过几天会莫名其妙的使java进程占用100%cpu,查了日志也没有结果。没办法只能想了一个先应急的办法:

每个2天在晚上重启一下resin。  在crontab里写好了shell之后,第二天发现resin的时间比中国时间少了8小时。

查看日志发现,crontab启动后resin的时区是 +0000,后来手动运行自己的写的那个shell时区就正常了。

后来看了些关于时区的帖子,发现都没问题。不知resin的配置文件中有没有设置时区,或者还有啥能修改时区的方法。

下面是重启resin的shell
#!/bin/sh
TZ="Asia/Shanghai"; export TZ
/bin/kill -9 `cat /usr/local/resin/httpd.pid`
/usr/local/resin/bin/start-httpd.sh -Djava.awt.headless=true

TZ那段是后来看了别人帖子加的,不过没用。不知道还有啥办法。
发表于 2008-1-27 14:40:34 | 显示全部楼层
bash下,date 显示的时间正确吗?

如果不对,参考这个:
调整linux服务器的时区
文章类别: 程序 技术 — SuperTaoer @ 1:35 am

首先,你所有的关于时区的文件都保存在 /usr/share/zoneinfo 里面
你当前时区的文件保存在 /etc/localtime 下
如果你的 /etc 下没有 localtime 文件
你可以做一个软链接 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者copy过来 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

/etc/sysconfig/clock 这个文件里的 ZONE=”Asia/Shanghai” 让你可以直接编辑你的时区
你也可以使用tzselect 命令来交互式的编辑你的时区

因为要两台服务器的时间要统一,我又不想在其中一台做时间服务器让另外一台去同步时间。
所以我就把一台认为是标准时区的服务器的 /etc/localtime 文件copy 到了另外一台上面
scp root@192.168.0.1:/etc/localtime /etc/localtime

做好设置后最后不要忘了把时间写入BIOS,用 clock -w 来实现。
然后你可以 hwclock -r 用这个命令来查看目前的 BIOS 的时间。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表