Linux修改时间

转载自: http://blog.sina.com.cn/s/blog_698d40e10100ykop.html

时间同步需要使用 UDP123 端口,如果防火墙阻止此端口,会有以下报错:
no server suitable for synchronization found
安装ntpdate:
sudo apt-get -f install ntpdate

1. 手动同步时间服务器:
$ sudo ntpdate ntp.api.bz
将同步后的准确时间写入BIOS:
$ sudo hwclock --systohc 或  sudo hwclock -w

查看系统时间: $date

时间服务器列表这里有:
http://leven.co/blog/view/137

2. 自动同步时间服务器:

设置每30分钟自动时间同步(推荐):
(1)编辑临时任务文件
gedit /tmp/mycrontab内容:
*/30 * * * * root /usr/sbin/ntpdate s1a.time.edu.cn; /sbin/hwclock -w; echo: “Ntpdate Successful! $(date)” >> /tmp/mycron.log

以上共3个命令,分号分开。
第一个是:以root用户身份每30分钟自动与时间服务器 s1a.time.edu.cn 同步。
规则是:(五个时间+[用户]+[多条]命令) 分 时 日 月 周 [用户] [多条]命令
参考:Crontab How To
第二个是:将系统时间写入BIOS。
第三个是:将成功执行该crontab的信息写入 /tmp/mycron.log 文件(主意:当确定该计划任务执行正确后,这个命令是不必要的,应该去掉,否则,长期下去 mycron.log文件很快就撑暴了)。

(2)安装计划任务
要使该计划任务成功执行,需要以sudo身份安装该crontab:
sudo crontab /tmp/mycrontab

这样,每30分钟,系统时间就会与时间服务器自动同步了,可查看 /tmp/mycron.log 记录:
cat /tmp/mycron.log。

为了保证时间同步成功,不要太频繁与时间服务器同步,每分钟同步是不必要的。

取消该crontab:
sudo crontab -r

查看当前的 crontab:
sudo crontab -l

修改该计划任务:
需要重新安装crontab,即修改 /tmp/mycrontab 文件,然后用 sudo crontab /tmp/mycrontab 命令重新安装。

每个用户都有自己的 crontab,这里用 sudo ,是因为 ntpdate 需要 root 权限。

3. 手动修改系统时间测试

date -s 16/11/2011
date -s 3:33:00
posted on 2012-03-06 00:13  DavidYanXW  阅读(262)  评论(0)    收藏  举报