我有一个cron作业,它每15分钟处理一次数据(12:00,12:15等等)我需要一个bash函数/脚本来确定相对于当前时间的下一个处理周期的秒数。如果当前时间=“2016年15:09:00” 下一个处理周期是360秒。有任何想法吗?感谢。
答案 0 :(得分:3)
获取自UNIX纪元以来的当前时间
$ now=$(date +%s)
然后计算该值mod 900(900秒为15分钟)并从900减去该值。
$ echo $((900 - now % 900))
答案 1 :(得分:1)
date
命令允许在-d --date
选项后提供日期。 date
也了解相对日期(例如+ 6 min
,+3 days
等。)。因此,如果您需要了解将来6
分钟的内容,您只需使用date -d "+ 6 min"
查找确切的时间即可。 e.g。
$ date
Fri Jun 10 15:22:45 CDT 2016
$ date -d "+ 6 min"
Fri Jun 10 15:28:47 CDT 2016