如何用linux一台服务器时间去同步其他服务器的时间
一、搭建时间服务器
1、在一台linux服务器安装ntp server
2、修改ntpconf配置文件
vi /etc/ntpconf
restrict default nomodify
(允许任何IP的客户机都可以进行时间同步,如果是只允许某个网段的客户机进行时间同步可以这样写restrict 1058260 mask 2552552550 nomodify)
3、以守护进程启动ntpd
#/etc/rcd/initd/ntpd -c /etc/ntpconf -p /tmp/ntpdpid
#/etc/rcd/initd/ntpd start
二、配置时间同步客户机
ntpdate 101281425
hwclock -w
使用cron 定时同步
vi /var/spool/cron/root(或crontab -e)
增加一行,在每天的1点10分、9点10分、17点10分与时间同步服务器进行同步并写入BIOS
10 1 ,9,17 root /usr/sbin/ntpdate 101281425; /sbin/hwclock -w
/usr/sbin/ntpdate 时间服务器ip地址
#上海电信授时中心
/usr/sbin/ntpdate ntpapibz
#微软授时中心
/usr/sbin/ntpdate timewindowscom
#以上任选一就可以了
#如果想定时校正,以crontab加入这个,每天12点0点各执行一次
00 0,12 /usr/sbin/ntpdate ntpapibz
Linux自带了ntp服务 -- /etc/initd/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntpconf。
为了测试,设置让node2 -- 1921681102和node1 -- 1921681101做时间同步。
第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1 ~]date -s 08/03/2011
[root@node1 ~]date -s 11:12:00
[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。
第二步,然后将node1配置成一个time server,修改/etc/ntpconf,
[root@node1 ~]vi /etc/ntpconf
其他的配置不怎么需要改,只需要关注restrict的配置:
1 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。
2 加入:restrict 19216810 mask 2552552550 -- 让19216810/24网段上的机器能和本机做时间同步
3 这样就可以了,记得下面的:
server 12712710 # local clock
fudge 12712710 stratum 10
这两行需要,这是让本机的ntpd和本地硬件时间同步。
当然,我们也可以添加server xxxxxxxxxxxx,让他和其他的time server时间同步。
4 /etc/initd/ntpd restart
5 chkconfig ntpd on
6 修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。
第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntpconf ,
[root@node2 ~]vi /etc/ntpconf
1 restrict default ignore这行保留为注释状态,因为sales不需要做time server
2 注释掉server 12712710, fudge 12712710 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。
3 加入server 1921681101这行,和node1机器同步。
这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间
第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdatesh
/usr/sbin/ntpdate 1921681101
[root@node2 ~]#chmod 755 ntpupdatesh
[root@node2 ~]#crontab -e
/1 /root/ntpupdatesh
[root@node2 ~]#/etc/initd/crond restart
1、时区设置可以通过tzselect命令来进行设置,具体执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1,如下图所示,根据向导输入相应的数字键回车键即可。
2、设置日期可以通过date命令来进行设置。
例如:将系统日期设定成2019年11月3日的命令
例如:将系统时间设定成下午4点44分44秒的命令
命令 : date -s 16:44:44
一、查看和修改Linux的时区
1 查看当前时区
命令 : "date -R"
2 修改设置Linux服务器时区
方法 A
命令 : "tzselect"
方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"
方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"
3 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、查看和修改Linux的时间
1 查看时间和日期
命令 : "date"
2设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : "date -s 11/03/2009"
将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"
3 将当前时间和日期写入BIOS,避免重启后失效
命令 : "hwclock -w"
注:
date
不加参数可以直接看到当前日期时间
cal
不加参数可以直接看到本月月历
1请确确认各节点的ntp包已经安装 ,我这里是个422的版本
[oracle@nascds10 ~]$ rpm -qa | grep ntp
ntp-422p1-9el5_41
2请编辑各个节点的ntpconf文件
[oracle@nascds10 ~]$ su - root
Password:
[root@nascds10 ~]# vi /etc/ntpconf
#New ntp server added by Robinson
server 1921681128 prefer <<<<===========这里是时钟服务器
restrict 19216870 mask 255255255255 nomodify notrap #基于网段的限制(限制在网段19216870)
broadcastdelay 0008
[root@nascds11 ~]# vi /etc/ntpconf
#New ntp server added by Robinson
server 192168771 prefer
broadcastdelay 0008
3、配置ntpd的参数,我们主要强调的是要配置成"微调的模式" 也就是在options中要加入 -x的选项
[root@nascds10 ~]# vi /etc/sysconfig/ntpd
#The following item added by Robinson
#Set to 'yes' to sycn hw clock after successful ntpdate
SYNC_HWCLOCK=yes
OPTIONS="-x -u ntp:ntp -p /var/run/ntpdpid"
[root@nascds11 ~]# vi /etc/sysconfig/ntpd
The following item added by Robinson
SYNC_HWCLOCK=yes
OPTIONS="-x -u ntp:ntp -p /var/run/ntpdpid"
4、自动启动配置
[root@nascds10 ~]# chkconfig ntpd on
[root@nascds11 ~]# chkconfig ntpd on
5、重启一下,使最新配置生效
[root@nascds10 ~]# service ntpd restart
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [ OK ]
Syncing hardware clock to system time [ OK ]
Starting ntpd: [ OK ]
[root@nascds11 ~]# service ntpd restart
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [ OK ]
Syncing hardware clock to system time [ OK ]
Starting ntpd: [ OK ]
6、检查ntpd进程的状态
[root@nascds10 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) LOCL 10 l 40 64 1 0000 0000 0001
[root@nascds11 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
testoraclecom INIT 16 u 60 64 0 0000 0000 0000
LOCAL(0) LOCL 10 l 59 64 1 0000 0000 0001
date -s “20181121 17:34:00”
输入这条命令系统时间会设置为2018年11月21日17点39分。
修改之后你可以输入date命令查询当前时间。
扩展资料:
1、桌面右上角齿轮按钮,点击System Settings。
2、弹出窗口选择Time & Date。
3、Time & Date界面有一个世界地图,通过点击相应的地点即可选择时区。
4、通过下方的选择按钮,可以选择手动设置时间或从互联网获取时间。
命令行界面操作
1、对于linux系统大多数是命令行界面,所以先介绍字符界面同步时间方法。 首选安装ntpdate 时间同步服务, 利用yum install ntpdate
2、接着把linux系统时间同步到windows time公共时间服务器, ntpdate timewindowscom
3、设置时间同步脚本,虽然以上已经同步了时间,但是如果连不上网或者关机就不一样的时间了。可以通过设置计划任务,每天0点同步一下。
添加到crontab任务文件添加:00 0 1 root ntpate -s timewindowscom
4、除此之外,我们还可以通过用date命令查看 和手动设置系统时间(必须管理员账号权限。
图形界面设置
1、如果对命令行不熟悉,也可以通过图形界面设置来实现系统时间同步。 找到系统工具----管理员功能选项--- date\时间 和日期
2、启用网络时间,并且与之同步找到date\time 时间菜单之后,勾选“synchronize date and time over the network ”
3、设置正确的当地时区,除此之外,centos系统会根据当期语言来设置默认的时间和时区。对于咗嚛所在的china时间,是北京时间(下面那个UTC时间不要勾)
0条评论