通过Perl使用ntp更新linux时间
#!/usr/bin/perl -w use Net::NTP; my %response = get_ntp_r...
扫描右侧二维码阅读全文
12
2009/02

通过Perl使用ntp更新linux时间

#!/usr/bin/perl -w use Net::NTP; my %response = get_ntp_response("时间服务器地址"); my $time = localtime( $response{'Receive Timestamp'}); #print $time."\n"; system("date -s '$time'");


注意两点
1.需要安装Net::NTP模块
2.此脚本需要有足够权限(因为调用date来设置系统时间)

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

3 comments

  1. Johnny Woo

    谢谢.但是我不是需要ntpdate去执行
    否则不用这么复杂的脚本.直接ntpdate一个命令就可以了.
    这个例子只是我在做win下面的ntp时间同步之前先在linux下面测试而已
    然后移植到win下面.当然后面同步系统时间的方式会有不同.

  2. Fred

    exec /usr/sbin/ntpdate $NTPOPTIONS "$@" $NTPSERVERS

  3. Fred

    #!/bin/sh set -e if [ -r /etc/default/ntpdate ]; then . /etc/default/ntpdate fi if [ "$NTPDATE_USE_NTP_CONF" = yes ]; then for f in /etc/ntp.conf.dhcp /etc/ntp.conf /etc/openntpd/ntpd.conf; do if [ -r "$f" ]; then file=$f break fi done if [ -n "$file" ]; then NTPSERVERS=$(sed -rne 's/^(servers?|peer) ([-_.:[:alnum:]]+).*$/\2/p' "$file" | grep -v '^127\.127\.') || [ $? -le 1 ] fi elif [ -r /etc/default/ntpdate.dhcp ]; then . /etc/default/ntpdate.dhcp fi

Leave a Comment