我在虚拟机中运行 lamp install 上的 wp。我经常暂停它、保存快照等。因此日期和时间不正确,我认为我注意到使用 cron 的插件行为很奇怪。我该如何修复我的时间和插件?也许我应该从外部位置获取时间,这样即使我经常暂停我的机器,它也是正确的?
这是其他 Linux 主机上的 Debian Lenny 客户机。我正在使用 virtualbox。
答案1
您需要的是时间同步,这是 Virtual Box 中 Guest Additions 的一项功能。看起来它没有安装。摘自 Virtualbox 手册:
时间同步 安装 Guest Additions 后,VirtualBox 可以确保客户机的系统时间更好地同步。这解决了操作系统通常希望计算机 100% 的时间都属于自己而不受干扰的问题,而当您的 VM 与主机操作系统以及主机上的其他应用程序一起运行时,情况就不再如此了。因此,您的客户机操作系统的计时很快就会出现很大偏差。Guest Additions 将定期重新同步时间。
安装说明这里。
答案2
要同步时间,请使用 NTP(网络时间协议)。
首先,同步时间
sudo ntpdate ntp.ubuntu.com
然后,安装 ntpd
sudo apt-get install ntp
答案3
VM 并不总是能很好地与 ntp 配合。
如果您使用的是 VMware,请安装 VMware 工具。然后,文件中有一个.vmx
名为的设置time.syncTime
应设置为TRUE
(尽管自从我安装了 VMware Tools 以来,时间似乎一直保持同步,即使设置为默认值FALSE
)。
下面是一些其他 VMware 设置:(来自http://www.vmware.com/pdf/vmware_timekeeping.pdf):
tools.syncTime
如果设置为TRUE
,时钟会定期同步。time.synchronize.continue
如果设置为TRUE
,则拍摄快照后时钟同步。time.synchronize.restore
如果设置为TRUE
,则在恢复到快照后时钟同步。time.synchronize.resume.disk
如果设置为TRUE
,则从挂起状态恢复后以及使用 VMware VMotion 功能迁移到新主机后时钟会同步。time.synchronize.shrink
如果设置为TRUE
,则在对虚拟磁盘进行碎片整理后时钟同步。time.synchronize.tools.startup
如果设置为TRUE
,时钟将在工具守护进程启动时同步,通常是在客户操作系统启动时。
答案4
man 8 hwclock
或者将其添加到虚拟机中 root 的 crontab
*/1 * * * * hwclock --hctosys