我在嵌入式平台上运行繁忙的盒子。每次重新启动硬件时,我都想在盒子上正确设置日期。我没办法持久地节省时间,所以只能每次都设置时间。我有 LAN 连接,但没有 SSH。我目前的技巧是将“日期”的输出重定向到我电脑上的文件,通过 tftp 从我的硬件平台访问该文件,然后以某种方式解析文件,使用其内容,然后设置日期。我不知道如何从文件中获取字符串,然后使用 'date' 命令设置它。任何帮助,将不胜感激。设置日期的任何其他方式都将被获取。我曾尝试使用 ntpd,但由于缺乏互联网连接而失败
小智 4
使用 cron 作业,您可以将文件写入 /tftp 目录,粒度为 1 分钟。
* * * * * date "+%m%d%H%M%Y.%S" > /tftp/currdate.txt 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
该文件的内容是单个值,其格式与 date 命令设置日期/时间所需的格式相同。
bash$ cat currdate.txt
102600052011.00
Run Code Online (Sandbox Code Playgroud)
在 busybox 方面,您只需 tftpget 文件并处理它
cat currdate.txt | while read date; do
date $date
done
Run Code Online (Sandbox Code Playgroud)
如果 HTTP 是一个选项,您可以设置一个 php 脚本,在调用时仅返回日期,并让您的脚本在 busybox 端轮询该 URL,并处理结果。在这种情况下,日期的粒度会更接近。
使用 TFTP,您将在 1 分钟内完成。希望这足够接近。