linux服务器时间修改

date命令修改linux时间为什么没生效

时间: 2023-08-10 07:04:40 浏览: 676

如果使用 date 命令修改 Linux 系统时间没有生效,可能有以下原因:

  1. 缺少管理员权限:修改系统时间需要管理员权限,如果你不是以 root 用户身份登录或者使用 sudo 命令获取管理员权限,可能会导致修改失败。

  2. 时间同步服务:Linux 系统通常会启用时间同步服务,例如 NTP (Network Time Protocol) 服务,如果这些服务正在运行,它们可能会在短时间内重新设置系统时间。你可以暂时停止这些服务来修改系统时间,例如:

    sudo systemctl stop ntp
    
  3. 时区问题:如果系统时区设置不正确,可能会导致修改后的时间与预期的时间不同。你可以使用 timedatectl 命令来查看和修改系统时区,例如:

    sudo timedatectl set-timezone Asia/Shanghai
    

    这个命令将系统时区设置为上海时间。

  4. BIOS 时间:如果系统的 BIOS 时间不正确,可能会导致修改后的系统时间与预期的时间不同。你可以进入系统 BIOS 设置界面,手动设置正确的时间。

如果你已经检查了以上原因,仍然无法修改系统时间,可能需要进一步排查系统日志或者尝试重新启动系统。

相关问题

linux如何使用date修改时间

在 Linux 系统中,可以使用 date 命令来修改系统时间。以下是使用 date 命令修改系统时间的步骤:

  1. 以 root 用户身份登录系统或使用 sudo 命令获取管理员权限。

  2. 执行 date 命令,查看当前系统时间,例如:

    date
    
  3. 执行 date -s 命令,设置新的系统时间。例如,将系统时间设置为 2022 年 4 月 22 日 10 点 30 分 00 秒,可以执行以下命令:

    date -s "2022-04-22 10:30:00"
    

    注意,时间格式必须是 "YYYY-MM-DD HH:MM:SS" 的形式,其中 "YYYY" 表示年份,"MM" 表示月份,"DD" 表示日期,"HH" 表示小时,"MM" 表示分钟,"SS" 表示秒数。

  4. 再次执行 date 命令,查看修改后的系统时间是否生效,例如:

    date
    

    如果修改成功,输出的时间应该是新设置的时间。如果没有生效,可能需要检查系统时间同步服务是否启用或者重新启动系统。

linux date修改时区

Linux系统中可以通过修改时区环境变量TZ来修改时区。具体步骤如下:

  1. 查看当前时区是否正确:使用命令date查看当前时间是否正确,使用命令echo $TZ查看当前的时区是否是需要修改的时区。
  2. 获取时区环境变量TZ的值:使用命令echo $TZ获取当前时区环境变量TZ的值。
  3. 配置环境变量TZ的值:使用命令export TZ=需要修改的时区来修改时区环境变量TZ的值,例如export TZ=Asia/Shanghai。
  4. 重新加载配置并检验是否生效:使用命令source /etc/profile重新加载配置文件并检验时区是否已经修改成功。

需要注意的是,修改时区环境变量TZ只会影响当前用户的时区设置,如果需要修改系统的默认时区,需要修改/etc/localtime文件或者/etc/timezone文件。同时,如果使用了Docker容器,也需要在容器内部进行时区的设置。

2.设置时间和日期

例如:将系统日期设定成2009年11月3日的命令

命令 : “date -s 11/03/2009”

将系统时间设定成下午5点55分55秒的命令

命令 : “date -s 17:55:55”

date

显示当前时间 Fri Aug 3 14:15:16 CST 2007

date -s

按字符串方式修改时间

可以只修改日期,不修改时间,输入: date -s 2007-08-03

只修改时间,输入:date -s 14:15:00

同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:date -s “2007-08-03 14:15:00”

修改完后,需要的话可以输入:clock -w

把系统时间写入CMOS

3. 将当前时间和日期写入BIOS,避免重启后失效

命令 : hwclock -w

linux 系统时间隔一段时间,总会被还原问题

最近,在Linux使用过程中,系统时间与实际时间间隔8小时,并且修改过后隔一段时间就会被还原,且时间间隔为1分钟左右。为解决该问题尝试过多种修改时间的方法,包括设置系统时间和硬件时间,最后发现utc时间不正确,和实际时间相同(本应要提早8小时),于是采用本地时间更新成 UTC 时间解决了该问题(没有找到原因,只解决了问题)。

Linux服务器执行时发现系统时间不对,所以查找资料,首先用到了 date 来修改系统日期

1,使用 tzselect 来设置时区  选了 Asia/China/Beijing,无效;

2,修改Linux时间:date -s 时间

这种方式只是临时修改系统时间,当系统重新启动的时候就会还原。

3,而后使用 timedatectl 指令来修改时间

timedatectl set-time  '2019-03-16 10:10:00' 
4,此时发现时间仍旧会被还原,而且是过一分钟左右,系统时间会自动更新,相隔8小时,

      猜测系统时间读取的是硬件时间,于是使用 hwclock 设置硬件时间

 hwclock --set --date '2019-03-16 10:10:00'
    这是修改硬件的时间 也就是永久性修改Linux的时间

hwclock --show 查看硬件的时间
hwclock --set --date '2019-03-16 10:10:00' 设置硬件时间为19年3月16日10点10分00秒
hwclock --hctosys 设置系统时间和硬件时间同步
clock -w 保存时钟
5,经过以上操作,发现LINUX系统时间仍然会定时更新,

      猜测:觉得是有地方设置了定时同步,只是同步时间源不对。

      尝试方法:根据网上资料,尝试网络时间同步的方式,使用 timedatectl 开启 ntp 同步,timedatectl set-ntp 1

#timedatectl 
......
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
6,此处与网友贴出的信息有所不一致, ntp enabled 虽然开启,,但是 synchronized 仍然关闭(使用 ntp update [serverip]仍无效),就算设置了 RTC in local TZ 开启也没有效果,没有找到出现此问题的原因所在

Warning: Ignoring the TZ variable. Reading the system's time zone setting only.
Local time: 五 2019-03-29 09:05:38 UTC
Universal time: 五 2019-03-29 09:05:38 UTC
RTC time: 五 2019-03-29 00:57:06
Time zone: Universal (UTC, +0000)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
猜测:看到UTC的时间一直不正确,猜想是由于UTC时间导致的

解决方法:将 localtime时间重置,并将utc时间设置为localtime时间

rm /etc/localtime 
#Step 4:从/usr/share/zoneinfo/中创建软连接以替换当前的时区信息,直接选择Universal:
 
ln -s /usr/share/zoneinfo/Universal /etc/localtime

时钟同步导致时间默认恢复成同步主机时间

根据报错发现vmtoolsd影响服务器时间同步
1、systemctl stop chronyd.service (停止该服务)
2、systemctl start chronyd.service(开启时钟同步)

3、systemctl disable chronyd.service(关闭服务开机自启)

4、systemctl stop ntpd.service (停止该服务)
5、date -R 或 timedatectl (再次查看时间--正常,没有出现被还原情况

禁用系统时间同步

sudo timedatectl set-ntp 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值