linux同步时间命令crontab,为什么在crontab中使用ntpdate同步时间无效?

在一台 VirtualBox 上安装的 CentOS 5.8 系统上,时间不准确,一天能差上好几个小时,每次测试与时间相关的程序时,总得先去调整时间。于是在crontab中设置了一个定时任务:(crontab -e)

# 时间同步

0,10,20,30,40,50 * * * * ntpdate time.windows.com

过了一阵,发现时间并没有同步,而单独执行命令就可以。让命令执行结果输出到文件中试试:

# 时间同步

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 中的命令尽量使用完整路径,避免执行时找不到。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值