date --help
获取帮助
[root@bigdata-training ~]# date -R
Sat, 06 Jul 2019 22:19:27 +0800
[root@bigdata-training ~]# date +%z
+0800
主要就是后面的+0800,东八区
时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime,
[root@bigdata-training ~]# ls /usr/share/zoneinfo/Asia/
Aden Ashgabat Beirut Chongqing Dili Ho_Chi_Minh Jayapura Kathmandu Kuching Manila Oral Rangoon Shanghai Tehran Ulaanbaatar Yakutsk
Almaty Ashkhabad Bishkek Chungking Dubai Hong_Kong Jerusalem Katmandu Kuwait Muscat Phnom_Penh Riyadh Singapore Tel_Aviv Ulan_Bator Yekaterinburg
Amman Baghdad Brunei Colombo Dushanbe Hovd Kabul Khandyga Macao Nicosia Pontianak Saigon Srednekolymsk Thimbu Urumqi Yerevan
Anadyr Bahrain Calcutta Dacca Gaza Irkutsk Kamchatka Kolkata Macau Novokuznetsk Pyongyang Sakhalin Taipei Thimphu Ust-Nera
Aqtau Baku Chita Damascus Harbin Istanbul Karachi Krasnoyarsk Magadan Novosibirsk Qatar Samarkand Tashkent Tokyo Vientiane
Aqtobe Bangkok Choibalsan Dhaka Hebron Jakarta Kashgar Kuala_Lumpur Makassar Omsk Qyzylorda Seoul Tbilisi Ujung_Pandang Vladivostok
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
时间
概念:Linux时间有两个
系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数
BOIS时间:也叫硬件时间(hc)
硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
显示时间
Linux hwclock命令用于显示与设定硬件时钟。
————————————————
版权声明:本文为CSDN博主「浮云6363」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lz6363/article/details/94909549
[root@bigdata-training ~]# date;hwclock -r
Sat Jul 6 22:23:15 CST 2019
Sat 06 Jul 2019 10:19:14 PM CST -0.454161 seconds
[root@bigdata-training ~]# date -s 20190705
Fri Jul 5 00:00:00 CST 2019
[root@bigdata-training ~]#
[root@bigdata-training ~]# date -s 23:00:00
Fri Jul 5 23:00:00 CST 2019
[root@bigdata-training ~]#
[root@bigdata-training ~]# date -R
Fri, 05 Jul 2019 23:00:09 +0800
没有网络的情况下可以用这个
2、ntpdate
ntpdate time.windows.com && hwclock -w
连网更新时间,如果成功,将系统时间,写入BOIS
hwclock -w或 hwclock –systohc
可以做到crontab里
先编写脚本cat ntpdate.sh
#!/bin/bash
#restart ntpdate and synchronization time
DATE_STR=`/bin/date '+%Y%m%d%H%M%S'`
#log
NTPDATE_SERVICE_LOG=/home/fuyun/logs/ntpdate-${DATE_STR}.log
#start ntpdate service
service ntpdate restart >>${NTPDATE_SERVICE_LOG} 2>&1
if [ $? -eq 0 ]; then #此处$?是接收上条命令是否成功,成功为0,失败为非0
echo restart ntpdate service succeed!!! 1>>${NTPDATE_SERVICE_LOG}
#synchronization time
logs=`ntpdate time.windows.com && hwclock -w` # >>${NTPDATE_SERVICE_LOG} 2>&1
echo ${logs} 1>>${NTPDATE_SERVICE_LOG}
if [ $? -eq 0 ]; then #此处$?是接收上条命令是否成功,成功为0,失败为非0
echo Synchronizing with time succeed!!! 1>>${NTPDATE_SERVICE_LOG}
else
echo Synchronizing with time failed!!!1>>${NTPDATE_SERVICE_LOG}
fi
else
echo restart ntpdate service failed!!! 1>>${NTPDATE_SERVICE_LOG}
fi
再用root用户编辑定时任务crontab -e
在定时任务中添加以下内容00 00 * * * sh /home/fuyun/ntpdate.sh
表示每天00:00定时执行脚本
先用ntpdate更新一下,确保时间不至于差别太大
rpm -qa | grep ntp #查询一下可安装了
chkconfig --list | grep ntp #看下服务情况
chkconfig ntpd on
service ntpd start 或/etc/init.d/ntpd start