ntpdate无法在cron里更新系统时间

post by rocdk890 / 2011-10-10 14:21 Monday linux技术

今天朋友对服务器进行时间同步,出现了以下的问题,给他记录起今天的情况,免得以后再出现问题.

crontab -e插入ntpdate更新命令,如下所示:

*/5 * * * * ntpdate time.nist.gov

单独用命令更新ntpdate time.nist.gov系统时间,却是正常的.

但是放到cron里面计划任务,系统时间更新不正常.

查看cron日志如下,有进行执行,但是命令好象没有生效.

tail -n 40 /var/log/cron

Sep 28 11:30:01 CentOS5 crond[3139]: (root) CMD (ntpdate time.nist.gov)
Sep 28 11:35:01 CentOS5 crond[3165]: (root) CMD (ntpdate time.nist.gov)

通过命令,显示每五分钟执行一次是正常的.但是系统时间还是无法更新.

在root的邮件里面提示ntpdate,如下:

From: [url=mailto:root@localhost.localdomain]root@localhost.localdomain [/url] (Cron Daemon)
To: [url=mailto:root@localhost.localdomain]root@localhost.localdomain [/url]
Subject: Cron < [url=mailto:root@localhost]root@localhost [/url]> ntpdate time.nist.gov 
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/bin/sh: ntpdate: command not found

提示ntpdate找不到命令,于是用ntpdate绝对路径/usr/sbin/ntpdate放入cron里.

仍旧提示/bin/sh: /usr/bin/ntpdate: command not found


在cron里面添加的是
/usr/sbin/ntpdate,还是解决不了.

根据这句提示 :X-Cron-Env: <PATH=/usr/bin:/bin>

我把ntpdate复制到/usr/bin目录下面.现在同步时间很正常了.

原来cron计划任务,调用的是/usr/bin下面的可执行文件,我们可以看到下图系统时间已经同步好了,并且ntpdate在cron里正常运行.
点击查看原图

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-58.html

标签: 更新 crontab 自动更改 系统 时间 crond cron

  1. gravatar 撒旦
    2019-08-27 12:40
    写全路径
  1. gravatar Aixe
    2011-10-10 14:43
    嘿嘿 , 不好意思,我的错

评论: