Chronic is a constraints-based opportunistic application-level
scheduler. Unlike cron, which schedules according to a time
specification, it schedules tasks when specified constraints are
met. In other words, it schedules during a window of
opportunity when the circumstances are favorable.