硬件时钟启动后启动任务的upstart脚本

时间:2014-11-13 21:22:19

标签: clock upstart ntp

我有一个尝试在启动后建立SSL连接的进程,但如果尚未设置时钟(日期与证书上的生效日期不匹配),则会失败。是否可以将upstart配置为仅在设置内部时钟后启动进程?

时钟的默认设置是2010-01-01,所以像date >= 2014这样的东西就足够了(显然不是合法的新贵语法,但概念仍然存在)。

我能想到的最好的方法是在NTP启动后启动,但这并不一定意味着时钟已经设置,因为网络连接建立可能会延迟或暂时不可用。

2 个答案:

答案 0 :(得分:0)

简单的解决方案可能只是轮询日期并等待500毫秒或其他任何事情再次尝试,如果日期还没有结束。

答案 1 :(得分:0)

这是我最终做的事情:

start on started connman
stop on runlevel [016]

script
        YEAR=$(date +'%Y')
        until [ $YEAR -ge "2014" ]; do
                sleep 5
                YEAR=$(date +'%Y')
        done
        python access_point.py
end script

我等到连接管理器运行然后我每隔5秒检查一年,直到2014年或更高年份。