Linux 有问必答:在 Linux 上如何通过命令行来更改日期和时间
2015-06-30 00:00
776 查看
问题: 在 Linux 上, 我怎样通过命令行来改变日期和时间?
在 Linux 系统中保持日期和时间的同步是每一个 Linux 用户和系统管理员的重要责任. 很多程序都依靠精确的时间信息得以正常工作. 另外, 不精确的日期和时间会使得日志文件中的时间戳变得毫无意义, 减弱了它们在系统检查和检修中的作用. 对于生产系统来说, 精确的日期和时间甚至更为重要. 例如, 在零售公司中, 所有产品必须时刻准确地计数(并储存在数据库服务器中)以便于财政部门计算每天及每周,每月,每年的支出和收入.
我们必须注意, 在 Linux 机器上有两种时钟: 由内核维持的软件时钟(又称系统时钟)和在机器关机后记录时间的(电池供电的)硬件时钟. 启动的时候, 内核会把系统时钟与硬件时钟同步. 之后, 两个时钟各自独立运行.
日期格式也可以手动指定以获得更精确的结果:
你也可以用相对的方式地增加或减少一定的天数,周数,月数和秒数,分钟数,小时数。 你也可以把日期和时间的参数放到一个命令中。
最后, 把硬件时钟设置为当前系统时钟:
另一方面, 如果硬件时钟是正确的, 但系统时钟有误, 可以用下面的命令更正:
如果你的 Linux 系统上的默认时区是错误的, 你可以按照这个指导进行更正.
你可以使用如下命令来安装 ntpdate:
在 Debian 及基于 Debian 的发行版上:
除了一次性使用 ntpdate 来同步时钟, 你也可以使用 NTP 守护进程(ntpd), 它会始终在后台运行, 不断地通过 NTP 来调整系统时钟. 关于 NTP 的设置, 请参考这个指导.
via: http://ask.xmodulo.com/change-date-time-command-line-linux.html
在 Linux 系统中保持日期和时间的同步是每一个 Linux 用户和系统管理员的重要责任. 很多程序都依靠精确的时间信息得以正常工作. 另外, 不精确的日期和时间会使得日志文件中的时间戳变得毫无意义, 减弱了它们在系统检查和检修中的作用. 对于生产系统来说, 精确的日期和时间甚至更为重要. 例如, 在零售公司中, 所有产品必须时刻准确地计数(并储存在数据库服务器中)以便于财政部门计算每天及每周,每月,每年的支出和收入.
我们必须注意, 在 Linux 机器上有两种时钟: 由内核维持的软件时钟(又称系统时钟)和在机器关机后记录时间的(电池供电的)硬件时钟. 启动的时候, 内核会把系统时钟与硬件时钟同步. 之后, 两个时钟各自独立运行.
方法一: Date 命令
在 Linux 中, 你可以通过 date 命令来更改系统的日期和时间:# 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='20140928 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 命令都是将两个时钟同步. 否则, 重启后时间会是错误的, 因为当电源关闭时硬件时钟会记忆时间. 然而, 这对于虚拟机器并不适用, 因为虚拟机器并不能访问硬件时钟.
如果你的 Linux 系统上的默认时区是错误的, 你可以按照这个指导进行更正.
方法二: 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 来调整系统时钟. 关于 NTP 的设置, 请参考这个指导.
via: http://ask.xmodulo.com/change-date-time-command-line-linux.html
相关文章推荐
- 对伙伴算法的理解
- linux安装pdo_dblib扩展支持sqlserver
- Linux 下 配置JDK
- 天下数据详解Linux系统备份策略
- 邮件服务器搭建
- CentOS - 搭建yum源
- linux命令学习:iptables详解2
- Linux 挂载u盘
- linux命令学习:iptables详解1
- windows动态链接库[DLL]与Linux共享库[SO]技术浅析
- Linux常见问题(CentOS)
- 在CentOS上安装MySQL
- RHEL7 - LINUX中的UID
- Windows和Linux下使用C语言写库和运用
- Linux中基本I/O 重定向的符号及其用法和文件标识符
- Linux文件,文件描述符以及dup()和dup2()
- 为什么要fork两次来避免产生僵尸进程
- Centos6.6 安装Subversion服务
- 【原创】Linux opensource-src-4.3.2.tar.gz的安装。
- XenServer 6.5实战系列之十三:图形界面安装Linux Redhat系统