Linux时间同步-阿里云开发者社区

开发者社区> 沉默王二> 正文

Linux时间同步

简介: Linux时间同步
+关注继续查看

在我们的项目中,需要同步Linux服务器的时间,于是用到了ntpdate命令

1.使用crontab -l命令查看定时服务


[root@MyCloudServer xxx]# crontab -l

0,10,20,30,40,50 * * * * ntpdate time.windows.com &>/xxx/ntpdate.log

2.看起来好像没有问题啊,vim /var/spool/mail/root(定时服务日志会存放在该文件中)查看定时服务日志,发现有如下信息


/bin/sh: ntpdate: command not found

说明定时服务在/bin/sh目录中去找ntpdate命令,并且没有找到

3.使用whereis ntpdate命令看看该命令在什么目录下


[root@MyCloudServer cron]# whereis ntpdate

ntpdate: /usr/sbin/ntpdate /usr/share/man/man8/ntpdate.8.gz

问题找到了,在定时服务中,ntpdate命令要使用全路径

4.使用crontab -e命令修改一下,加上ntpdate命令的目录


0,10,20,30,40,50 * * * * /usr/sbin/ntpdate time.windows.com &>/xxx/ntpdate.log

然而保存后,等到整数分钟后,在日志中没有发现该命令执行,为什么呢,猜想如下

a.以上命令格式错误,时间格式错误

b.cron自动服务没有执行

通过网上查找时间的命令格式,发现

0,10,20,30,40,50 * * * *

并没有错误,而手动执行

/usr/sbin/ntpdate time.windows.com &>/xxx/ntpdate.log

也成功执行,那么就看看b是否存在问题

5.执行ps -ef | grep cron,查看时间服务进程是否存在


[root@MyCloudServer xxx]# ps -ef | grep cron

root     26157 22992  0 10:04 pts/3    00:00:00 grep cron

发现没有cron执行进程

6.执行service crond status查看服务状态


[root@MyCloudServer xxx]# service crond status

crond is stopped

竟然服务没有启动,好吧

7.启动进程,并且查看状态


[root@MyCloudServer xxx]# service crond start

Starting crond:                                            [  OK  ]

[root@MyCloudServer xxx]# service crond status

crond (pid  26291) is running...

[root@MyCloudServer xxx]# ps -ef | grep cron

root     26291     1  0 10:06 ?        00:00:00 crond

root     26302 22992  0 10:06 pts/3    00:00:00 grep cron

8.服务启动了,通过vim /etc/rc.d/rc.local命令添加以下语句设置为开机启动


/sbin/service crond start

注意也加上了/sbin目录

9.最后再看看ntpdate.log中有没有执行日志


[root@MyCloudServer xxx]# cat ntpdate.log

29 Dec 11:10:16 ntpdate[29960]: no server suitable for synchronization found

发现服务器没有找到对应的服务同步,那么猜想应该是time.windows.com服务器在本台服务器上没有获取成功,由于我们用的是香港的云服务器,那么换一个香港认可的地址试试

0,10,20,30,40,50 * * * * /usr/sbin/ntpdate stdtime.gov.hk &>/xxx/ntpdate.log

然后等到整时分钟的时候再次查看一下

[root@MyCloudServer xxx]# cat ntpdate.log

29 Dec 11:20:01 ntpdate[30580]: adjust time server 118.143.17.82 offset 0.015206 sec

可以看到执行成功了


总结:通过以上问题调查,发现无论什么时候经验主义并不可靠,小小的一个问题都可能引发很多原因。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10089 0
linux时间相关结构体和函数整理【转载】
转载LYJ:http://blog.chinaunix.net/space.php?uid=14617649&do=blog&id=3058661 一、时间类型。Linux下常用的时间类型有4个:time_t,struct timeb, struct timeval,struct timespec,clock_t, struct tm.
707 0
linux时间同步
1.首先安装ntp yum -y install ntp 2.执行命令 ntpdate -u cn.ntp.org.cn
420 0
linux硬件时间修改与查看
linux修改时间和日期.查看修改硬件时间 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。
965 0
Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】
转自:http://blog.csdn.net/droidphone/article/details/8112948 版权声明:本文为博主原创文章,未经博主允许不得转载。   目录(?)[-] 数据结构 低分辨率下的动态时钟 1  切换至动态时钟模式 2  低分辨率动态...
835 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13891 0
linux中时间精度的获取问题【转】
转自:http://www.xuebuyuan.com/877633.html   目前项目需要,需要对时间进行基准,基准的精度在微秒。下午老刘给我说不能用do_gettimeofday因为他的精度虽然可以到微秒但是是依靠jiffies的精度(在linux 2.6.27内核中这个jiffies的单位是1毫秒)来更新这个时间值的,晚上回来就试试。
673 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
1084
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础HTML入门教程》
立即下载
《零基础CSS入门教程》
立即下载