Linux系统时间设置
上午一个网友在Q群问Linux怎么设置时间,因为断电重启后就恢复成默认的了,稍微看了下我的测试机,慢了几分钟,没有在意。晚上就碰到时间的问题了。
Laravel的模板会根据模板文件的修改时间自动更新,而我写的发现一直更新不了,删除在storage/framework/views文件中的缓存,才能更新。
查看时间才发现,开发机(另一个VPS)上的时间比实际慢了大概12小时5分钟,难怪更新不了,我是在本地编辑并自动同步到VPS的。
date -R 查看时间、时区
更改时区:
vi /etc/sysconfig/zone
ZONE="Asia/Shanghai"
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
把系统时间写入到硬件时间
hwclock --systohc
再次查看,时区已经改过来了:
[
root@walking ~]# date -R
Mon, 19 Oct 2015 21:45:30 +0800
自动同步时间
自动同步时间用ntpdate
安装ntpdate(RedHat & CentOS):
yum install ntpdate ntp
Ubuntu系统的:
sudo apt-get install -y ntpdate ntp
手动同步时间:
ntpdate -u pool.ntp.org
hwclock --systohc
(重新写入)
自动同步:
echo "30 3 * * * root /usr/sbin/ntpdate -u pool.ntp.org && /sbin/clock --systohc" >> /etc/crontab
意思是每天3点半执行一次时间同步,echo "directive" >> /path/file是指把内容追加到文件末尾
或打开/etc/conrtab写入:
30 3 * * * root /usr/sbin/ntpdate -u pool.ntp.org && /sbin/clock --systohc
vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
30 3 * * * root /usr/sbin/ntpdate -u pool.ntp.org && /sbin/clock --systohc
参考:
查看/修改Linux时区和时间_豆豆网
centos vps修改时间及时区不同步 终极解决方案