# date --set=‘NEW_DATE’
其中 NEW_DATE 是诸如 “Sun , 28 Sep 2014 16:21:42” 或者 “2014-09-29 16:21:42” 的可读格式的日期字符串 。
日期格式也可以手动指定以获得更精确的结果:
# date +FORMAT --set=‘NEW_DATE’
例如:
# date +’%Y%m%d %H%m’ --set=‘ 1518’你也可以用相对的方式地增加或减少一定的天数 , 周数 , 月数和秒数 , 分钟数 , 小时数 。 你也可以把日期和时间的参数放到一个命令中 。
# date --set=‘+5 minutes’# date --set=‘-2 weeks’# date --set=‘+3 months’# date --set=‘-3 months +2 weeks -5 minutes’最后 , 把硬件时钟设置为当前系统时钟:
# hwclock --systohc
运行 hwclock --systohc 的目的是将硬件时钟同时钟同步 , 这可以更正硬件时钟的系统漂移(即时钟按照一定的速度走快或走慢) 。
另一方面 , 如果硬件时钟是正确的 , 但系统时钟有误 , 可以用下面的命令更正:
# hwclock --hctosys
在两种情况下 , hwclock 命令都是将两个时钟同步 。 否则 , 重启后时间会是错误的 , 因为当电源关闭时硬件时钟会记忆时间 。 然而 , 这对于虚拟机器并不适用 , 因为虚拟机器并不能访问硬件时钟 。
方法二: NTP
另一种使系统日期和时间保持精确的方法是使用 NTP (网络时间协议) 。 在 Linux 上 , ntpdate 命令通过 NTP 将系统时钟和公共 NTP 服务器同步 。
你可以使用如下命令来安装 ntpdate:
在 Debian 及基于 Debian 的发行版上:
# aptitude install ntpdate
在基于 Ret Hat 的发行版上:
# yum install ntpdate
使用 NTP 同步系统时钟:
# ntpdate -u 《NTP 服务器名或IP》# hwclock --systohc除了一次性使用 ntpdate 来同步时钟 , 你也可以使用 NTP 守护进程(ntpd) , 它会始终在后台运行 , 不断地通过 NTP 来调整系统时钟 。
如何在linux命令行下修改时区查看时区
cat /etc/sysconfig/clock
设置时区
tzselect
timeconfig
cat /etc/sysconfig/clock ZONE=”Asia/Shanghai” —> /usr/share/zoneinfo 下面的文件 。 UTC=false —> 硬件时钟是否为 UTC 或者说 GMT 时钟 。 ARC=false —> 如果是在 Alpha 机器上 , 则设置为 true 。
把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制 , 缺点是 , 在安装有多重操作系统启动的机器上 , 在另外的操作 系统上时钟会错误 。
Linux 的时钟设置文件为:/etc/localtime , 实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接 。 假设我们所处的地区位于上海 , 那么只要运行以下的命令就可以设置时区了 。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /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/sysconfig/clock 。 用tzselect命令就可以修改这个配置文件 , 根据命令的提示进行修改就好了 。 但是在实际工作中 , 发现这种方式是不能够使得服务器上的时间设置马上生效的 , 而且使用ntpdate去同步时间服务器也不能够更改时间 。 即使你使用了date命令手工设置了时间的话 , 如果使用ntpdate去进行时间同步的话 , 时间又会被改动到原来的错误时区的时间 。 而生产的机器往往是非常重要的 , 不能够进行重启等操作 。 在网上找了几种方法试了下 , 发现如果要修改时区并且马上生效 , 可以更换/etc/localtime 文件来实现 。 比如我的时区是中国上海 , 那么就可以使用如下的命令来使得时区的更改生效 。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然后最好使用下面的命令将更改写入bios 。
- 今年你的中秋是怎么过的?你有哪些难忘的中秋回忆?
- 如新美容仪真的有效果吗 如新美容仪怎么样
- ofo押金退不了谁来管 ofo退不了押金怎么办
- 淘宝最近出了什么事 淘宝最近怎么了?
- 怎么在淘宝里买到最便宜 淘宝最便宜的东西
- 大学生应该怎么谈恋爱?
- 淘宝降价补差价怎么补?操作方法是什么?
- 中小学教育培训机构的老师发展前景怎么样?
- 手机什么软件解压rar格式 手机rar文件怎么解压失败
- 夏天的雨滴肉肉怎么养?
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
