电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1473|回复: 0

linux用crontab -e设置时间同步无效的原因

[复制链接]
admin 发表于 2013-7-4 16:22:42 | 显示全部楼层 |阅读模式
在一台 VirtualBox 上安装的 CentOS 5.8 系统上,时间不准确,一天能差上好几个小时,每次测试与时间相关的程序时,总得先去调整时间。于是在crontab中设置了一个定时任务:(crontab -e)  # 时间同步
  0,10,20,30,40,50 * * * * ntpdate time.windows.com (由于网络问题, time.windows.com经常被屏蔽, 因此建议使用国家授时中心ip: 210.72.145.44)
  过了一阵,发现时间并没有同步,而单独执行命令就可以。让命令执行结果输出到文件中试试:
  # 时间同步
  0,10,20,30,40,50 * * * * ntpdate time.windows.com &>/var/log/ntpdate.log
  又过了一阵,发现时间还是不准确。看了一下 /var/log/ntpdate.log,如下:
  /bin/sh: ntpdate: command not found
  在shell中直接执行,就不会有找不到命令的问题,使用全路径来执行命令应该就可以了。先找到 ntpdate 的确切路径:
  [root@node18 ~]# whereis ntpdate
  ntpdate: /sbin/ntpdate /usr/sbin/ntpdate /usr/share/man/man8/ntpdate.8.gz
  用 crontab -e 修改任务:
  # 时间同步
  #0,10,20,30,40,50 * * * * ntpdate time.windows.com &>/var/log/ntpdate.log
  0,10,20,30,40,50 * * * * /sbin/ntpdate time.windows.com &>/var/log/ntpdate.log
  保存
  crontab: installing new crontab
  [root@node18 ~]#
  [root@node18 ~]#
  [root@node18 ~]# date
  2012年 07月 29日 星期日 02:48:13 CST
  [root@node18 ~]# date
  2012年 07月 29日 星期日 02:48:49 CST
  [root@node18 ~]# date
  2012年 07月 29日 星期日 02:49:46 CST
  [root@node18 ~]# date
  2012年 07月 30日 星期一 09:27:37 CST
  时间同步了。
  [root@node18 ~]# cat /var/log/ntpdate.log
  30 Jul 09:26:33 ntpdate[6928]: step time server 65.55.21.19 offset 110191.229893 sec
  总结两点:
  (1)在 crontab 中设置了任务,要进行确认;
  (2)crontab 中的命令尽量使用完整路径,避免执行时找不到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-11-27 11:18 , Processed in 0.095114 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表