Date
在帶有有限busybox的嵌入式Linux上設置日期(無ntp)
我試圖在帶有busybox的嵌入式linux上啟動後自動設置日期(我沒有RTC)。
ntp
我在busybox中也沒有命令,也沒有curl。我wget
的也很有限,我似乎無法獲得標題。我見過多種使用
curl
或wget
解析 google.com 的標頭來獲取目前日期的方法。但我的
wget
命令不支持--server-response
選項:BusyBox v1.21.0 (2014-11-25 08:52:04 CET) multi-call binary. Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE] [--header 'header: value'] [-Y|--proxy on/off] [-P DIR] [-U|--user-agent AGENT] [-T SEC] URL... Retrieve files via HTTP or FTP -s Spider mode - only check file existence -c Continue retrieval of aborted transfer -q Quiet -P DIR Save to DIR (default .) -T SEC Network read timeout is SEC seconds -O FILE Save to FILE ('-' for stdout) -U STR Use STR for User-Agent header -Y Use proxy ('on' or 'off')
我在某個地方有這個解決方案,但我只有 POSIX shell,沒有 bash,所以它不起作用(
can't create /dev/tcp/www.google.com/80: nonexistent directory
):#!/bin/bash exec 5<>/dev/tcp/www.google.com/80 cat mypostfile >&5 cat <&5 # reply
任何想法如何我仍然可以從某個地方檢索目前日期,以便我可以使用我的busybox設置我的系統時鐘?
謝謝!
對於 localhost 埠 8000 的代理,如果您的 busybox 有 telnet,您可以嘗試
( echo 'HEAD http://www.google.com/ HTTP/1.0' echo sleep 2 ) | busybox telnet localhost 8000 | grep 'Date:'
其中 sleep 命令是近似的,並且過早停止 telnet 關閉連接。
我很驚訝這仍然可以在沒有重定向到 https 的情況下工作,例如,
busybox wget
它不支持。你仍然會得到重定向的日期。