• Linux 时间修改(包括vm)


    最近好几个朋友都在问我关于vm下linux时间同步问题。为此,专门整理了一篇,以便一起学习。 先说linux下修改时间的方法: 首先Linux下修改时间其实很简单的。就是用date -s命令就好了。可以参考man date就可以了解到很多。 关于linux的时钟,需要了解2个概念:系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。 所以你在date -s把时间修改正确后,记得要顺手在reboot前clock -w一下。 Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。 如将系统时间设定成1999年12月9日的命令如下。 #date -s 12/09/99 将系统时间设定成下午2点18分9秒的命令如下。 #date -s 14:18:09 注意,这里说的是系统时间,是linux由操作系统维护的。 在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。 #clock -w 这个命令强制把系统时间写入CMOS 设置时区:一般我们都用tzselect命令,然后跟着往下走的。如果你不喜欢向导呢?可以用下面的方法: # vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false # rm /etc/localtime # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 说到时间,其实如果能够自动同步,当然我们就不用手动修改了。 ntpdate ntpserver's IP   ntpdate 192.168.10.254  你可以把这条写进 /etc/crontab/ 就好了。设定每5分钟或是更短同步一次。当然,你需要在找到一台提供时间同步的服务器。   当然这只是把linux的硬件时间进行了同步设置,而系统时间还是没有同步设置的。所以我们需要把系统的时间同步到硬件时间,这样系统和硬件时间都进行同步的设置。 系统时间和硬件时间的同步 同步系统时间和硬件时间,可以使用hwclock命令。 //以系统时间为基准,修改硬件时间 [root@localhost ~]# hwclock --systohc <== sys(系统时间)to(写到)hc(Hard Clock) [root@localhost ~]# hwclock -w //以硬件时间为基准,修改系统时间 [root@localhost ~]# hwclock --hctosys [root@localhost ~]# hwclock -s 再说vm下时间同步的方法: 虚拟机如果安装在Microsoft旗下OS,那么仅需安装VMware Tools就可以了,虚机的系统会利用VMware Tools读取主机系统的硬件时钟进行同步和校准。如此一来,只要主机的时钟不出问题,那么虚机的时间就不会出现问题,误差应该在10秒之内。 如果虚拟机安装类UNIX下,请参考以下文章: http://kb.vmware.com/kb/1006427 基本上的意思是:针对不同的发行版本系统,在引导内核的指令中加入不同的参数来使用Virtual Hardware Clock来进行时间的同步及校准, 或者使用NTP,VMware Tools等等不同的方法来进行Guest OS的时间同步及校准。 下面是我测试的具体具体步骤 1.首先,安装VMware tools,如果没安装我们会看到VM最下面有一个警告,没有安装VMware tools Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 2.先弹出光驱,如果不弹出光驱,后面安装时可能会出问题 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 3.在VMware最上面一排菜单选择:VM-->Intall VMware tools...-->Install Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 4.然后进入LINUX里面挂载光驱 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 5.然后进入光盘,将会看到VMware tools安装包 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?="">. 6.将安装包拷到/TMP目录下解压,进入目录安装,执行./vmware-install.pl,这一步需要在命令行下执行,在X界面下执行会报错: [url=http://img.bimg.126.net/photo/xGYcBFfGY14hsDO8hANCrQ==/3164341688181839153.jpg][/url][url=http://img.bimg.126.net/photo/qkZzpybRfPYo2WqsYqInSA==/3164341688181839154.jpg][/url]Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?="">Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" height=110 -="" bxffeng="" bxffeng的博客?=""> 7.安装完成VMware tools后就可以进行与主机系统时间进行同步了,修改时间同步有两种方法,一种是关掉虚拟机,在虚拟机目录下编辑vmx配置文件,将tools.syncTime值修改为TRUE,默认VMWare Tool后台程序每三分钟与宿主主机同步更新一次时间 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 8.另外一种是在LINUX命令行执行命令同步, Unix下VMWare Tool的命令行程序为vmware-guestd,默认目录为/usr/sbin/vmware-guestd。这是一个通 过脚本自动运行的后台程序,可以使用这个程序更改运行参数。 Usage: |-----------------------------------------------------------------------、 ./vmware-guestd --help Display this help message ./vmware-guestd --cmd <command> Make the VMware software execute a command ./vmware-guestd Run in daemon mode [--background <PID file>] Start in the background, and write the PID of the background process in a file. [--halt-command <command>] Command to use to halt the system. The default is "/sbin/shutdown -h now" [--reboot-command <command>] Command to use to reboot the system. The default is "/sbin/shutdown -r now" 语法为: --cmd “vmx.set_option ” 在UNIX、Linux里就是vmware-guestd,(在Windows系统下为VMwareService.exe,也可以执行该命令行方 式). 设置选项,这里使用synctime,详细信息可以参考官方说明。 旧参数,新参数,0为FALSE,1为TRUE。通过设定这两个参数就可以更改指定选项的内容了。 要启用VMWare tool的时间同步就可以运行: ./vmware-guestd --cmd “vmx.set_option synctime 0 1” Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" height=57 -="" bxffeng="" bxffeng的博客?=""> 9.在同步时间前我们看到LINUX系统时间为:7:23 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" height=85 -="" bxffeng="" bxffeng的博客?=""> 9.在同步以后我们看时间已经与主机操作系统时间同步了 主机WINDOWS时间: Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> VMware下Linux时间 Linux 时间修改(包括vm) - blogxl - blogxl的博客650) this.width=650;" -="" bxffeng="" bxffeng的博客?=""> 本文出自 “你好我就好!” 博客,请务必保留此出处http://ts110.blog.51cto.com/56185/294913
  • 相关阅读:
    需要学习的技术
    面试资料
    数据库设计三大范式
    java List 排序 Collections.sort() 对 List 排序
    hibernate的延迟加载
    索引失效原因总结
    mybatis调用oracle存储过程
    Android开发中需要注意哪些坑
    Intent在Activity之间传值的几种方式
    Android动画(Animations)
  • 原文地址:https://www.cnblogs.com/gxldan/p/4066746.html
Copyright © 2020-2023  润新知