Chinaunix首页 | 论坛 | 博客
  • 博客访问: 146915
  • 博文数量: 123
  • 博客积分: 5770
  • 博客等级: 大校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-12 16:31
个人简介

闲情逸致 http://EZ38.com

文章分类

全部博文(123)

文章存档

2014年(1)

2010年(122)

我的朋友
最近访客

分类: LINUX

2010-02-15 11:39:02

Linux下时间的修改
在做自动关机的时候要用到系统的时间,如果系统显示的时间不正确,那么需要重新设置系统时间。
# date 120610092004 (MMDDhhmmYYYY.ss) (或者是 date -s "2005-7-12 10:10:20")
# hwclock --systohc
 注意:用date -s 改时间后,务必使用/sbin/hwclock --systohc来刷到BIOS中去,否则下次Linux系统重启后又会将时间换回去
 
  Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”项中进行设置。
  Linux并没有默认哪个时钟系统。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。从Linux启动过程来看,系统时钟和硬件时钟不会发生冲突,但Linux中的所有命令(包括函数)都是采用的系统时钟设置。
  系统时间和硬件时间可以不同。这样做的好处对于普通用户意义不大,但对于Linux网络管理员却有很大的用处。例如,要将一个很大的网络中(跨越若干时区)的服务器同步,假如位于美国纽约的Linux服务器和北京的Linux服务器,其中一台服务器无须改变硬件时钟而只需临时设置一个系统时间,如要将北京服务器上的时间设置为纽约时间,两台服务器完成文件的同步后,再与原来的时钟同步一下即可。这样系统和硬件时钟就提供了更为灵活的操作。

[root@www /root]# cat /etc/sysconfig/clock
ZONE=Asia/Shanghai ;/usr/share/zoneinfo 下面的文件。
UTC=false ; 硬件时钟是否为 UTC 或者说 GMT 时钟。
ARC=false ;如果是在 Alpha 机器上,则设置为 true 。
Linux 的时钟设置文件为:/etc/localtime ,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。
 
ln -sf /usr/share/zoneinfo/Asia/Beijing /etc/localtime
 
Linux 启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行 /sbin/hwclock 程序,把当前的硬件时钟复制为系统时间。hwclock 假定硬件时钟已经设置为本地时钟,除非带有 --utc 参数。脚本文件会读取 /etc/sysconfig/clock 文件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的 UTC 行,设置为 true 或者 false。
设置硬件时钟时,首先使用 date 命令("date MMDDhhmmYYYY.ss") 设置好系统时钟,然后使用 "/sbin/hwclock --systohc" 把硬件时钟设置为和当前系统时间一致。
如果你在某些应用下面的时间是错误的,那么你在运行 Red Hat Linux 5.0 或 5.1,解决的办法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符号连接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:
/etc/rc.d/rc.sysinit
/etc/sysconfig/clock
/etc/localtime
/usr/share/zoneinfo
设置时区的方法是: 修改/etc/TIMEZONE文件的TZ=xxx,然后必须重起.xxx应该对应/usr/share/lib/zoneinfo中的一个文件.
HWCLOCK(8)                                                        
NAME
       hwclock - query and set the hardware clock (RTC)
SYNOPSIS
       hwclock -r or hwclock --show
       hwclock -w or hwclock --systohc
       hwclock -s or hwclock --hctosys
       hwclock -a or hwclock --adjust
       hwclock -v or hwclock --version
       hwclock --set --date=newdate
       hwclock --getepoch
       hwclock --setepoch --epoch=year
       other options:
       [-u|--utc]  --localtime  --noadjfile --directisa --test [-D|--debug]
       and arcane options for DEC Alpha:
       [-A|--arc] [-J|--jensen] [-S|--srm] [-F|--funky-toy]
       Minimum unique abbreviations of all options are acceptable.

    
      or:
      date -s HH?MM?SS (更改时间,其中HH、MM、SS分别为时、分、秒)
??clock -w(写入Cmos)
??如此即可,若你是时区设错的话,则可到#timeconfig中重新设定。
 
阅读(277) | 评论(0) | 转发(0) |
0

上一篇:NTP 時間伺服器

下一篇:Linux下时间的修改

给主人留下些什么吧!~~