AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 845814
Accepted
ZioByte
ZioByte
Asked: 2017-04-22 09:22:19 +0800 CST2017-04-22 09:22:19 +0800 CST 2017-04-22 09:22:19 +0800 CST

是否可以在 Busybox 系统上检查 NTPd 状态?

  • 772

我需要知道当前日期/时间在基于 Busybox 的小型嵌入式 Linux 系统中是否可靠。

我有 Busybox ntpd 正在运行,但显然没有程序可以查询状态。

在更传统的 Linux 安装中,我会使用 ntpdc、ntpq、ntpstat 甚至 timedatectl,但在这个 Busybox/Buildroot 系统上这些都不可用。

我还可以做些什么?

monitoring
  • 2 2 个回答
  • 4720 Views

2 个回答

  • Voted
  1. Best Answer
    mikewse
    2020-07-23T07:14:43+08:002020-07-23T07:14:43+08:00

    BusyBox 不提供查询正在运行的 BusyBox NTP 守护程序的状态所需的 IPC/RPC 接口,因此即使您安装了上述查询实用程序之一,它们也无法与 BusyBox 对话ntpd。

    如另一个答案中提到的那样运行ntpd -w只会从头开始另一个 BusyBoxntpd实例,并且这个新实例不会与已经运行的ntpd进程对话。

    然而,还有另一种从 BusyBox 获取状态信息的方法ntpd,即使用它的程序/脚本接口。查看 -S 标志:

    ~# ntpd --help
    BusyBox v1.30.1 () multi-call binary.
    
    Usage: ntpd [-dnqNwl] [-I IFACE] [-S PROG] [-p PEER]...
    
    NTP client/server
    
            -d      Verbose (may be repeated)
            -n      Do not daemonize
            -q      Quit after clock is set
            -N      Run at high priority
            -w      Do not set time (only query peers), implies -n
            -S PROG Run PROG after stepping time, stratum change, and every 11 min
            -p PEER Obtain time from PEER (may be repeated)
            -l      Also run as server on port 123
            -I IFACE Bind server to IFACE, implies -l
    

    指定的程序将根据不同的时间事件定期执行,并且 NTP 信息作为 args 提供给程序及其环境。我找不到有关此接口的信息,因此在这种情况下,源代码似乎是文档:

    https://git.busybox.net/busybox/tree/networking/ntpd.c

    查找该函数run_script(),您可以看到它以、、和作为环境变量action作为参数调用外部程序。stratumfreq_drift_ppmpoll_intervaloffset

    您的嵌入式 Linux 发行版可能已经挂接到此界面。在我的 OpenWrt 盒子ntpd上运行这个命令行:

    /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.openwrt.pool.ntp.org -p 3.openwrt.pool.ntp.org
    

    正如您所看到的,程序界面与 OpenWrt 的 procd hotplug 支持挂钩。在 OpenWrt 中,这意味着您改为添加 NTP 脚本,/etc/hotplug.d/ntp但提供给脚本的信息仍然相同,请参阅此处的 NTP 部分:

    https://openwrt.org/docs/guide-user/base-system/hotplug

    • 1
  2. Russ
    2019-02-22T22:49:04+08:002019-02-22T22:49:04+08:00

    ntpd -w将提供一些信息,例如您的 NTP 服务器的当前偏移量。

    • 0

相关问题

  • 如何监控系统在哪里写/读磁盘?[关闭]

  • 如何监控 SAN 服务器(通过 iSCSI)?

  • 共享点管理?

  • 安全地授予对 SQL 2005 复制监视器的访问权限以创建快照

  • SNMP HOSTMIB.MIB 未加载?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve