CentOS时间会有几秒钟的跳跃 - 有时候

时间:2013-10-08 12:16:59

标签: bash time centos

在服务器CentOS 5(32位)上运行此shell脚本时,我得到奇怪的输出。 它是专用服务器,而不是VPS。

time.sh

#!/bin/bash    
for i in {1..10}
do
NOW=$(date +"%M:%S")
echo "$i $NOW"
done

结果是:

1 05:27    
2 05:09
3 05:09
4 05:09
5 05:27
6 05:09
7 05:27
8 05:09
9 05:27
10 05:09

你会看到时间跳过一些迭代。 我不知道问题是什么。

我在另一台服务器上运行该脚本。结果还可以。

1 52:58
2 52:58    
3 52:58
4 52:58
5 52:58
6 52:58
7 52:58
8 52:58
9 52:58
10 52:58

2 个答案:

答案 0 :(得分:0)

这是CentOS 5.X的问题,已经在CentOS论坛上提出。以下是其中一个讨论内容:https://www.centos.org/forums/viewtopic.php?t=14610

您看到的错误很可能是在操作系统中,而不是在您的脚本中。如果可行的话,我建议尝试更新版本的CentOS或不同版本的Linux。

答案 1 :(得分:0)

在有多个ntpd进程正在运行并且其中一个以某种方式开始漂移之前,我已经看到过这样的行为。

检查pidof ntpd的输出并确认列出的pid只有一个。如果有多个,请将它们全部删除并重新启动ntpd。

if (( $( pidof ntpd | wc -w ) != 1 )); then
  echo "Woah there - found multiple ntpd processes..."
  sudo killall ntpd
  sudo /etc/init.d/ntpd start
fi