Fedora 修改时区、日期、时间
# tzselect 修改时间命令
[root@comput1 ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Asia
5) Atlantic Ocean
6) Australia
7) Europe
8) Indian Ocean
9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#?
Please select a country whose clocks agree with yours.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#?
Please select one of the following time zone regions.
1) Beijing Time
2) Xinjiang Time
#?
The following information has been given:
China
Beijing Time
Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Wed Jul 5 11:15:03 CST 2017.
Universal Time is now: Wed Jul 5 03:15:03 UTC 2017.
Is the above information OK?
1) Yes
2) No
#?
You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
#例如:在设置中国时区使用亚洲/上海(+8)
[root@comput2 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite '/etc/localtime'? yes
#查看系统时间和日期
[root@comput1 ~]# date -R
Tue, 04 Jul 2017 23:15:24 -0400
#修改时间和日期
[root@comput1 ~]# date -s "20170705 11:17:00"
Wed Jul 5 11:17:00 EDT 2017
[root@comput1 ~]# date -R
Wed, 05 Jul 2017 11:17:22 -0400
#刷新到blos
[root@comput1 ~]# hwclock -w
一、安装ntp服务
yum install -y ntp
二、设置时区
1、查看系统提供的时区信息
[root@localhost ~]# ls -F /usr/share/zoneinfo/
Africa/ Brazil/ Egypt GB-Eire HST Japan Navajo posixrules Turkey zone.tab
America/ Canada/ Eire GMT Iceland Kwajalein NZ PRC UCT Zulu
Antarctica/ CET EST GMT0 Indian/ Libya NZ-CHAT PST8PDT Universal
Arctic/ Chile/ EST5EDT GMT-0 Iran MET Pacific/ right/ US/
Asia/ CST6CDT Etc/ GMT+0 iso3166.tab Mexico/ Poland ROC UTC
Atlantic/ Cuba Europe/ Greenwich Israel MST Portugal ROK WET
Australia/ EET GB Hongkong Jamaica MST7MDT posix/ Singapore W-SU
在这里面可以找到自己所在城市的time zone文件,例如北京时间就是这个文件
[root@localhost ~]# ls -F /usr/share/zoneinfo/Asia/Shanghai
/usr/share/zoneinfo/Asia/Shanghai
查看每个time zone当前的时间可以使用zdump命令
[root@localhost ~]# zdump Japan
Japan Thu Feb 16 12:01:34 2017 JST
若要修改系统时区可以使用如下方法
[root@localhost ~]# rm -rf /etc/localtime
[root@localhost ~]# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
[root@localhost ~]# ll /etc/localtime
lrwxrwxrwx. 1 root root 35 Feb 16 2017 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
[root@localhost ~]# date
Thu Feb 16 11:05:24 CST 2017
三、同步硬件时间和系统时间
首先明确一个概念:
在计算机上有两个时钟,一个是硬件时钟(RTC),一个是系统时钟(System Clock)
硬件时钟(RTC)是指嵌在主板上的特殊的电路,他的存在就是平时我们关机后还可以计算时间的原因。
系统时钟(System Clock)是操作系统的kernel用来计算时间的时钟,它从1970年1月1日00:00:00 UTC时间到目前为止秒数总和的值 在Linux下系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各自独立运行了
既然两个时钟独立运行,时间久了就会产生误差,
[root@localhost ~]# date
Thu Feb 16 11:13:04 CST 2017
[root@localhost ~]# hwclock --show
2017-02-16 11:13:05.679891+8:00
通过hwclock –show 命令我们可以查看机器上的硬件时间(always in local time zone), 我们可以看到它和系统时间还是有一定的误差的, 那么我们就需要把他们同步
如果我们想要把硬件时间设置成系统时间我们可以运行以下命令
[root@localhost ~]# hwclock --hctosys
反之,我们也可以把系统时间设置成硬件时间
[root@localhost ~]# hwclock --systohc
那么如果想设置硬件时间我们可以开机的时候在BIOS里设定.也可以用hwclock命令
[root@localhost ~]# hwclock --set --date="mm/dd/yy hh:mm:ss"
如果想要修改系统时间那么用date命令就最简单了
[root@localhost ~]# date -s "dd/mm/yyyy hh:mm:ss"
四、修改ntp.conf的配置
vim /etc/ntp.conf
配置示例:
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
# 将自己主机的bios芯片震荡频率与上层的Time server频率比较,将误差记录在这个文件里
# 注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
# 格式:driftfile 文件名 driftfile /var/lib/ntp/drift # Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system. # 格式:restrict [IP] mask [netmask_IP] [parameter] # Parameter 的参数主要如下:
# ignore :拒绝所有类型的NTP联机。
# nomodify: 客户端不能使用ntpc 与ntpq 这两个程序来修改服务器的时间参数,但客户端可透过这部主机来进行网络校时;
# noquery:客户端不能够使用ntpc 与ntpq 等指令来查询时间服务器,不提供NTP的网络校时。
# notrap:不提供trap 这个运程事件登入的功能。
# notrust:拒绝没有认证的客户端。
# Kod:kod技术可以阻止“Kiss of Death “包对服务器的破坏。
# Nopeer:不与其他同一层的NTP服务器进行时间同步。
# 如果没有在parameter的地方加上任何参数的话,那么表示这个ip或网络不受任何限制 # 表示默认拒绝所有IP的时间同步
#restrict default nomodify notrap nopeer noquery
# 允许任何ip的客户机都可以进行时间同步
restrict default nomodify # Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
# 允许本机环回地址可以进行时间同步
restrict 127.0.0.1
restrict ::1 # Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 允许192.168.159.0/24网段的客户机都可以进行时间同步
restrict 192.168.159.0 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html). # 利用server 设定上层NTP服务器
# 格式:server [IP or hostname] [prefer]
# perfer:表示优先级最高
# burst :当一个运程NTP服务器可用时,向它发送一系列的并发包进行检测。
# iburst :当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测。
# 注:默认情况小15分钟后才会与上层NTP服务器进行时间校对。 server 210.72.145.44 prefer
server time1.aliyun.com iburst
server time2.aliyun.com iburst
server time3.aliyun.com iburst
server time4.aliyun.com iburst # 设置本地服务器为根时间服务器
server 127.127.1.0
# 这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0
fudge 127.127.1.0 stratum 6 #broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client # Enable public key cryptography.
#crypto includefile /etc/ntp/crypto/pw # Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
# 认证可以使用此时间源的客户端
keys /etc/ntp/keys # Specify the key identifiers which are trusted.
#trustedkey 4 8 42 # Specify the key identifier to use with the ntpdc utility.
#requestkey 8 # Specify the key identifier to use with the ntpq utility.
#controlkey 8 # Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats # Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
# 防御NTP放大攻击和NTP反射
disable monitor
五、启动ntpd服务,并配置开机启动
[root@localhost ~]# systemctl restart ntpd
[root@localhost ~]# systemctl enable ntpd
[root@localhost ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-02-16 11:36:29 CST; 12s ago
Main PID: 2819 (ntpd)
Tasks: 1 (limit: 19660)
CGroup: /system.slice/ntpd.service
└─2819 /usr/sbin/ntpd -u ntp:ntp -g Feb 16 11:36:29 admin.example.local ntpd[2819]: Listen normally on 4 ens34 192.168.139.135 UDP 123
Feb 16 11:36:29 admin.example.local ntpd[2819]: Listen normally on 5 virbr0 192.168.122.1 UDP 123
Feb 16 11:36:29 admin.example.local ntpd[2819]: Listen normally on 6 ens33 fe80::20c:29ff:febf:9bc9 UDP 123
Feb 16 11:36:29 admin.example.local ntpd[2819]: Listen normally on 7 lo ::1 UDP 123
Feb 16 11:36:29 admin.example.local ntpd[2819]: Listen normally on 8 ens34 fe80::15cc:96ee:f841:b516 UDP 123
Feb 16 11:36:29 admin.example.local ntpd[2819]: Listening on routing socket on fd #25 for interface updates
Feb 16 11:36:29 admin.example.local ntpd[2819]: 0.0.0.0 c016 06 restart
Feb 16 11:36:29 admin.example.local ntpd[2819]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Feb 16 11:36:29 admin.example.local ntpd[2819]: 0.0.0.0 c011 01 freq_not_set
Feb 16 11:36:31 admin.example.local ntpd[2819]: 0.0.0.0 c614 04 freq_mode
六、查看ntp服务运行状况
# watch ntpq -p
各列的释义:
列值 | 释义 |
---|---|
remote | 它指的就是本地机器所连接的远程NTP服务器 |
refid | 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器 |
st | 远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的. |
t | 这个…..我也不知道啥意思^_^ |
when | 我个人把它理解为一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步 |
poll | 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小 |
reach | 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加 |
delay | 从本地机发送同步要求到服务器的round trip time |
offset | 这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别.offset越接近于0,我们就和服务器的时间越接近 |
jitter | 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确 |
在这里会发现两个问题:
1. 我们连接的是0.fedora.pool.ntp.org为什么和remote server不一样?
2. 那个最前面的+和*都是什么意思呢?
第一个问题不难理解,因为NTP提供给我们的是一个cluster server所以每次连接的得到的服务器都有可能是不一样。同样这也告诉我们了在指定NTP Server的时候应该使用hostname而不是IP。
第二个问题和第一个相关,既然有这么多的服务器就是为了在发生问题的时候其他的服务器还可以正常地给我们提供服务.那么如何知道这些服务器的状态呢? 这就是第一个记号会告诉我们的信息
标记 | 释义 |
---|---|
* | 它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供 |
+ | 它将作为辅助的NTP Server和带有号的服务器一起为我们提供同步服务. 当号服务器不可用时它就可以接管 |
- | 远程服务器被clustering algorithm认为是不合格的NTP Server |
x | 远程服务器不可用 |
Fedora 修改时区、日期、时间的更多相关文章
- 我使用过的Linux命令之date - 显示、修改系统日期时间
原文地址:http://www.cnblogs.com/diyunpeng/archive/2011/11/20/2256538.html 用途说明 ate命令可以用来显示和修改系统日期时间,注意不是 ...
- 我使用过的Linux命令之date - 显示、修改系统日期时间(转)
用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格 ...
- centos修改时区,设置时间
在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...
- linux修改时区,时间格式
修改为上海的时区: 查看当前时区 date cp -vf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime vim /etc/sysconfig/cl ...
- ubuntu修改时区和时间的方法
改时区参考 http://blog.sina.com.cn/s/blog_6c9d65a1010145st.html 1.首先查看时区: swfsadmin@swfsubuntu:~$ date -R ...
- Ubuntu修改时区和时间
1.查看当前时区 date -R 返回显示是 +0000 2.修改时区 tzselect 然后提示选择时区,按顺序选4.9.1,然后确认选1 3.更新本地时区 sudo cp /usr/share/z ...
- win7 无法修改时区和时间
电脑用的win7系统, 今天调试程序的时候,想改下时间,才发现修改时区的按钮点了没反应,修改时间的按钮是灰色的,没法保存. 在网上搜了一下,想着应该是用的Ghost安装系统的问题,不过也找到了解决办法 ...
- ubuntu下如何修改时区和时间
1.修改时区 sudo tzselect (按提示选择即可) sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 修改时间 sudo ...
- DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用
参考于:https://www.cnblogs.com/huchong/p/7895263.html 创建django的model时,有DateTimeField.DateField和TimeFiel ...
随机推荐
- Linux eject弹出光驱
Linux eject命令用于退出抽取式设备. 若设备已挂入,则eject会先将该设备卸除再退出. 语法 eject [-dfhnqrstv][-a <开关>][-c <光驱编号&g ...
- 爆破phpmyadmin小脚本
#!usr/bin/env python #encoding: utf-8 #by i3ekr import requests headers = {'Content-Type':'applicati ...
- django返回二进制图片
@login_required def down_img(request, path): content = Storage().download(path) from django.http imp ...
- [Leetcode Week4]H-Index
H-Index题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/h-index/description/ Description Given an arr ...
- UVALIVE 3939 Plucking fruits
并查集解决.代码跑的有够慢.应该可以通过边权排序优化. #include <map> #include <set> #include <list> #include ...
- linux 中解析命令行参数(getopt_long用法)
linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...
- 程序员面试宝典 笔记(第六章 预处理 const 和sizeof())
void main() { "; cout<< cout<< "; cout<< cout<<strlen(ss2)<< ...
- 【反演复习计划】【bzoj1011】zap-queries
快三个月没做反演题了吧…… 感觉高一上学期学的全忘了…… 所以还得从零开始学推式子. # bzoj1011 标签(空格分隔): 未分类 --- 原题意思是求以下式子:$Ans=\sum\limits_ ...
- springboot整合mybatis+pageHelper
springboot整合mybatis+pageHelper 〇.搭建sporingboot环境,已经整合mybatis环境,本篇主要是添加pageHelper工具 一.添加依赖 <!-- 分页 ...
- gdrive无限网盘挂载systemd文件
我的博客新地址:www.liuquanhao.com --------------------------------------------------------------------- 首先应 ...