我需要在每M分钟后运行一个脚本文件。这个M是可配置的。现在我使用了如下的cron条目。
*/M * * * * /tmp/test.sh
但是,通过使用上述逻辑,M值被限制为5,10,15,30等,例如,M不能设置为28。我可以为此做一个后台服务,但我想知道有没有替代cron job。
答案 0 :(得分:1)
定义每分钟运行一次的cron作业。让它调用一个检查当前时间的脚本,并仅在当前时间是M的倍数时执行命令。
这样做的一种方法是获得platforms/android/assets/www
的结果(这是自大纪元以来的秒数,1970-01-01 00:00:00 GMT),除以60得到分钟,然后计算余数模数M.在bash:
date +%s
答案 1 :(得分:1)
这是使用at
个工作实现它的简单方法。
在您的脚本中添加一行,在当前开始后28分钟或当前开始后28分钟自行安排,具体取决于您的需求。
#!/bin/bash
#uncomment if it requires to start next run 28 minutes after this script started regardless of how long this job runs
# at now + 28 min < $0
# The rest of your commands go here...
# commands ....
# uncomment if it's desired to start the next run 28 minutes after this job ends
# at now + 28 min < $0
希望这会有所帮助。如果您的脚本需要特定的shell,请在调用at
SHELL=/bin/bash at now + 28 min < $0
时设置SHELL环境。