Peter Hoffmann Asked: 2011-02-22 04:24:09 +0800 CST2011-02-22 04:24:09 +0800 CST 2011-02-22 04:24:09 +0800 CST 如何在准确的时间开始工作? 772 我想在准确的时间开始录音工作。据我了解,cron 只能保证在一分钟内开始一项工作。 一种可能的解决方案是提前启动 cron 作业,而不是等到准确时间。我还有什么其他可能性? cron-jobs 1 个回答 Voted Best Answer Olli 2011-02-22T04:41:57+08:002011-02-22T04:41:57+08:00 最简单的方法是让 cron 作业提前一分钟开始,然后自己添加时间。 您也可以使用at. 至少手册页at说您可以使用相当精确的时间,包括秒。您可以通过添加记录时间的作业来测试这一点at,例如运行 shell 脚本 date > ~/at_test 如果您使用 cron 路线,date +%s是您的朋友。 例如 #!/bin/bash target_time=1298301898 let wait_time=target_time-`date +%s` if [ $wait_time -gt 0 ]; then sleep wait_time fi # Execute your code 使用这种方法,您的下一个问题是弄清楚如何确定 target_time。如果您始终知道要在下一分钟启动它,则可以使用 sleep 2 # Avoid running on xx:59, if cron starts immediately. let wait_time=60-`date +%M` sleep wait_time 等到微小的变化。
最简单的方法是让 cron 作业提前一分钟开始,然后自己添加时间。
您也可以使用
at
. 至少手册页at
说您可以使用相当精确的时间,包括秒。您可以通过添加记录时间的作业来测试这一点at
,例如运行 shell 脚本如果您使用 cron 路线,
date +%s
是您的朋友。例如
使用这种方法,您的下一个问题是弄清楚如何确定 target_time。如果您始终知道要在下一分钟启动它,则可以使用
等到微小的变化。