linux中date -s 和虚拟机的时间,将当前时间和日期写入BIOS,避免重启后失效
linux中date -s 和虚拟机的时间
在一台服务器上起了一台虚拟机,发现时区是cst,而且时间错误,改了一下,date -s。
后来poweroff 了一台虚拟机,发现时间有变回去了,一查,原来关机后,在启动虚拟机会到宿主机上读时间。所以要改宿主机的时间。
python time和datetime模块都是去读本地的时间。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS。
补充知识:
BIOS设置和CMOS设置的区别与联系
BIOS是主板上的一块EPROM或EEPROM芯片,里面装有系统的重要信息和设置系统参数的设置程序(BIOSSetup程序);CMOS是主板上的一块可读写的RAM芯片,里面装的是关于系统配置的具体参数,其内容可通过设置程序进行读写。CMOSRAM芯片靠后备电池供电,即使系统掉电后信息也不会丢失。BIOS与CMOS既相关又不同:BIOS中的系统设置程序是完成CMOS参数设置的手段;CMOSRAM既是BIOS设定系统参数的存放场所,又是BIOS设定系统参数的结果。因此,完整的说法应该是"通过BIOS设置程序对CMOS参数进行设置"。由于 BIOS和CMOS都跟系统设置密初相关,所以在实际使用过程中造成了BIOS设置和CMOS设置的说法,其实指的都是同一回事,但BIOS与CMOS却是两个完全不同的概念,千万不可搞混淆。
Looking up host 'centoshostnameKL2'...
Host 'centoshostnameKL2' resolved to 192.168.72.102.Connecting to 192.168.72.102:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Thu Feb 8 21:00:00 2018 from 192.168.72.200
[wangshumin@centoshostnameKL2 ~]$ date
2018年 02月 09日 星期五 15:57:12 CST
[wangshumin@centoshostnameKL2 ~]$ cal
二月 2018
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28
[wangshumin@centoshostnameKL2 ~]$ date -s “2018-2-11 8:37:00”
date: 参数"8:37:00”" 缺少前导的"+";
当使用选项来描述日期是,任何非选项参数都必须以"+"所引导的字符串出现
请尝试执行"date --help"来获取更多信息。
[wangshumin@centoshostnameKL2 ~]$ date -s "2018-2-11 8:37:00"
date: 无法设置日期: 不允许的操作
2018年 02月 11日 星期日 08:37:00 CST
[wangshumin@centoshostnameKL2 ~]$ sudo date -s "2018-2-11 8:37:00"
[sudo] password for wangshumin:
2018年 02月 11日 星期日 08:37:00 CST
[wangshumin@centoshostnameKL2 ~]$ "hwclock -w"
-bash: hwclock -w: command not found
[wangshumin@centoshostnameKL2 ~]$ clock -w
Sorry, only the superuser can change the Hardware Clock.
[wangshumin@centoshostnameKL2 ~]$ sudo clock -w
[sudo] password for wangshumin:
[wangshumin@centoshostnameKL2 ~]$
更多推荐
所有评论(0)