我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成1996年6月10日的命令如下。
创新互联建站成立与2013年,先为北海街道等服务建站,北海街道等地企业,进行企业商务咨询服务。为北海街道企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#date -s 06/10/96
将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00
注意,这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS
请采纳。
linux查看与修改时区、时间的命令1、查看、修改linux时区与时间一、linux时区的查看与修改1,查看当前时区date
-R2,修改设置时区方法1:tzselect方法2:仅限于RedHat
linux
和
CentOStimeconfig方法3:适用于Debiandpkg-reconfigure
tzdata3,复制相应的时区文件,替换系统时区文件;或者创建链接文件cp
/usr/share/zoneinfo/$主时区/$次时区
/etc/localtime在中国可以使用:cp
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime二、linux时间的查看与修改1、查看时间和日期date2、设置时间和日期将系统日期设定成1996年6月10日的命令date
-s
06/22/96将系统时间设定成下午1点52分0秒的命令date
-s
13:52:003.
将当前时间和日期写入BIOS,避免重启后失效hwclock
-w三、定时同步时间*
*
*
*
*
/usr/sbin/ntpdate
210.72.145.44
/dev/null
21linux中用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。查看linux系统时间:date修改linux系统时间:date
-s
(后面跟时间)查看linux硬件时间:Java代码
hwclock
#或
clock
#或
hwclock
–show
#或
clock
–show
修改linux硬件时间:C代码
hwclock
–set
–date
#或
clock
–set
–date
让系统时间与硬件时钟同步,用:C代码
hwclock
–hctosys
#或
clock
–hctosys
相反地,让硬件时钟与系统时间同步:C代码
hwclock
–systohc
#或
clock
–systohc
让系统时间每隔十分钟去同步一下硬件时间。C代码
[hqw@localhost
root]$
vi
/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
run-parts
01
*
*
*
*
root
run-parts
/etc/cron.hourly
02
4
*
*
*
root
run-parts
/etc/cron.daily
22
4
*
*
root
run-parts
/etc/cron.weekly
42
4
1
*
*
root
run-parts
/etc/cron.monthly
*/10
*
*
*
*
root
hwclock
--hctosys
#加入此行,每隔10分钟执行一次hwclock
--hctosys
查看时区
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。
对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。
环境
Centos 8
检查现在的时区
timedatectl是一个 命令 行实用程序,允许您查看和更改系统的时间和日期。
[root@localhost ~]# timedatectl
Local time: Tue 2020-03-31 16:35:23 CST
Universal time: Tue 2020-03-31 08:35:23 UTC
RTC time: Tue 2020-03-31 08:35:23
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
更改时区
在更改时区之前,您需要找出要使用的时区名称。要列出所有可用时区,请使用下面的 命令 :
[root@localhost ~]# timedatectl list-timezones
…
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
…
然后使用set-timezone选项更改时区,比如更改为Europe/Berlin:
[root@localhost ~]# timedatectl set-timezone Europe/Berlin
使用创建链接的方式更改时区
如果运行的是旧版本的Centos,比如Centos6之前的版本,并且系统上不存在timedatectl命令,则可以通过将/etc/localtime符号链接到/usr/share/zoneinfo目录中的时区文件来更改时区。
查看一下/usr/share/zoninfo下面的时区文件,
[root@localhost ~]# ls /usr/share/zoneinfo/
[root@localhost ~]# ls /usr/share/zoneinfo/Asia/
现在替换时区文件。
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
Tue Mar 31 16:53:59 CST 2020
可以看到已经切换到了CST中国标准时间
总结
在本文中,使用了两种方式修改时区。一种是使用timedatectl,另一种方式使用创建链接的方式。