大家好,今天小编来为大家解答以下的问题,关于linux时间同步,linux查看端口命令这个很多人还不知道,现在让我们一起来看看吧!
本文目录
一、linux *** 时间修改及同步
比如将 *** 时间设定成1996年6月10日的命令如下。
将 *** 时间设定成下午1点12分0秒的命令如下。
1.首先需了解linux内一任务计划工具crontab
crontab可以定时去执行你要做的动作
crontab-u//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab-l//列出某个用户cron服务的详细内容
crontab-r//删除某个用户的cron服务
crontab-e//编辑某个用户的cron服务
一般使用crontab-e来编辑一个计划动作,编辑模式同vi编辑器相同
第1列表示分钟1~59每分钟用*或者*/1表示
第5列标识号星期0~6(0表示星期天)
30 21***/etc/init.d/ *** b restart
上面的例子表示每晚的21:30重启 *** b。
45 4 1,10,22**/etc/init.d/ *** b restart
上面的例子表示每月1、10、22日的4: 45重启 *** b。
10 1** 6,0/etc/init.d/ *** b restart
上面的例子表示每周六、周日的1: 10重启 *** b。
0,30 18-23***/etc/init.d/ *** b restart
上面的例子表示在每天18: 00至23: 00之间每隔30分钟重启 *** b。
0 23** 6/etc/init.d/ *** b restart
上面的例子表示每星期六的11: 00 pm重启 *** b。
**/1***/etc/init.d/ *** b restart
* 23-7/1***/etc/init.d/ *** b restart
晚上11点到早上7点之间,每隔一小时重启 *** b
0 11 4* mon-wed/etc/init.d/ *** b restart
每月的4号与每周一到周三的11点重启 *** b
0 4 1 jan*/etc/init.d/ *** b restart
2.寻找一个 *** 时间服务器,比如一些国家授时中心
3.我们的电脑怎样去同步授时中心的时间
上面此命令就是去同步授时中心的时间
如果要让 *** 每天23:00去同步,这样可以使用上面所将的crontab设置计划同步
进入crontab编辑模式,使用 *** 同vi
输入 0 23*** ntpdate asia.pool.ntp.org/var/log/ntpdate.log
这样就完成了你的 *** 到每天23:00去asia.pool.ntp.org同步时间,并将同步的日志放到
比如将 *** 时间设定成1996年6月10日的命令如下。
将 *** 时间设定成下午1点12分0秒的命令如下。
注意,这里说的是 *** 时间,是linux由 *** 作 *** 维护的。
在 *** 启动时,Linux *** 作 *** 将时间从CMOS中读到 *** 时间变量中,以后修改时间通过修改 *** 时间实现。为了保持 *** 时间与CMOS时间的一致 *** ,Linux每隔一段时间会将 *** 时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date-s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
这个命令强制把 *** 时间写入CMOS
二、linux *** 怎么设置时间同步
1、对于linux *** 大多数是命令行界面,所以先介绍字符界面同步时间 *** 。首选安装ntpdate时间同步服务,利用yum install ntpdate
2、接着把linux *** 时间同步到windows time公共时间服务器, ntpdate time.windows ***
3、设置时间同步脚本,虽然以上已经同步了时间,但是如果连不上网或者关机就不一样的时间了。可以通过设置计划任务,每天0点同步一下。
添加到crontab任务文件添加:00 0 1** root ntpate-s time.windows ***
4、除此之外,我们还可以通过用date命令查看和手动设置 *** 时间(必须管理员账号权限。
1、如果对命令行不熟悉,也可以通过图形界面设置来实现 *** 时间同步。找到 *** 工具----管理员功能选项--- date *** ;时间和日期
2、启用 *** 时间,并且与之同步找到date *** ;time时间菜单之后,勾选“synchronize date and time over the network”
3、设置正确的当地时区,除此之外,centos *** 会根据当期语言来设置默认的时间和时区。对于咗嚛所在的china时间,是北京时间(下面那个UTC时间不要勾)
三、Linux 时间同步
在Linux *** 中存在两个时钟时间,分别是
硬件时钟是指的在主板上的时钟设备,也就是通常可以在BIOS画面设置的时钟,即使关机状态也可以计算时间。
而 *** 时钟则是指Kernel中的时钟,其值是由1970年1月1日00:00:00 UTC时间至当前时间所经历的秒数总和。当Linux启动的时候, *** 时钟会读取硬件时钟的设定,之后 *** 时钟 *** 运作。长时间运行两者可能将会产生误差。另外所有的Linux相关指令都是读取 *** 时钟指定的,如date。
NTP, *** 时间协议,使用 123/udp端口进行 *** 时钟同步;NTP是仍在使用中的最古老的 *** 传输协议之一(1985年前开始)。
以前Linux时间同步基本是使用 ntpdate和 ntpd这两个工具实现的,但是这两个工具已经很古老了。
【注】ntpdate和ntpd是互斥的,两者不能同时使用。ntpd是步进式平滑的逐渐调整时间,而ntpdate是断点式更新时间。
RHEL/CentOS 7.x已经将 chrony作为默认时间同步工具了。
其他Linux(如 ubuntu)使用 systemd-timesyncd服务。
chrony是 RedHat开发的,它是 *** 时间协议(NTP)的另一种实现;
RHEL/CentOS 7.x的默认时间同步工具;
chrony可以同时做为 ntp服务的客户端和服务端;安装完后有两个程序 chronyd、chronyc:
chronyd是一个 daemon守护进程,chronyc是用来 *** chronyd *** 能和配置参数的命令行工具。
chrony_server(relay):10.0.0.4
再次用chronyc命令检查,比较它与chronyd server的差异
systemd-timesyncd是一个用于跨 *** 同步 *** 时钟的守护服务。它实现了一个 SNTP客户端,但更轻量级,更集成systemd。
systemd-timesyncd启动时会读取/etc/systemd/timesyncd.conf配置文件,内容如下:
你可以输入你希望使用的其它时间服务器,比如你自己的本地 NTP服务器,在 NTP=行上输入一个以空格分隔的服务器列表。
如果服务器可以直接连接internet,不用修改默认配置;如果在内网,需要单独指定。
在最新的 Ubuntu版本中,timedatectl替代了老旧的 ntpdate。默认情况下,timedatectl在 *** 启动的时候会立刻同步时间,并在稍后 *** 连接激活后通过 socket再次检查一次。
timesyncd替代了 ntpd的客户端的部分。默认情况下 timesyncd会定期检测并同步时间。它还会在本地存储更新的时间,以便在 *** 重启时做时间单步调整。
通过 timedatectl和 timesyncd设置的当前时间状态和时间配置,可以使用 timedatectl status命令来进行确认。
由于 timedatectl的存在,各发行版已经弃用了 ntpdate,默认不再进行安装。
timedatectl status,查看时间同步状态;
timedatectl set-ntp true,开启 *** 时间同步;
timedatectl set-timezone ZONE,设置时区。
NTP synchronized: yes表示时间是同步状态。
查看服务状态以及从哪个ntp server同步时间。
NTP:软件层面实现,成本低。同步精度10ms左右。
PTP:需要 *** 接口具备在物理层提供时间戳的功能,同步精度优于100ns,局域网的节点需要使用支持PTP功能的交换机。局域网 *** 接点不支持PTP的话,只能同不到us,而且受 *** 背景流量影响。
四、如何使两台linux服务器时间同步
Linux自带了ntp服务--/etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
为了测试,设置让node2-- 1 *** .168.1.102和node1-- 1 *** .168.1.101做时间同步。
之一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1~]date-s 08/03/2011
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。
第二步,然后将node1配置成一个time server,修改/etc/ntp.conf,
其他的配置不怎么需要改,只需要关注restrict的配置:
1.注释掉原来的restrict default i *** ore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。
2.加入:restrict 1 *** .168.1.0 *** sk 255.255.255.0--让1 *** .168.1.0/24网段上的机器能和本机做时间同步
server 127.127.1.0# local clock
这两行需要,这是让本机的ntpd和本地硬件时间同步。
当然,我们也可以添加server xxx.xxx.xxx.xxx,让他和其他的time server时间同步。
6.修改iptables配置,将tcp和udp 123端口 *** ,这是ntp需要的端口,在/etc/services中可以查到这个端口。
第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf,
1. restrict default i *** ore这行保留为注释状态,因为sales不需要做time server
2.注释掉server 127.127.1.0, fudge 127.127.1.0 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。
3.加入server 1 *** .168.1.101这行,和node1机器同步。
这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间
第四步,将ntpdate放到crontab中定期步也是可以的
/usr/ *** in/ntpdate 1 *** .168.1.101
[root@node2~]#chmod 755 ntpupdate.sh
[root@node2~]#/etc/init.d/crond restart
关于linux时间同步,linux查看端口命令的介绍到此结束,希望对大家有所帮助。