#!/usr/bin/python3.4# -*- coding:utf8 -*-
import reimport jsonfrom croniter import croniterdef getCronTab(): cron = [] with open("xxx", 'r') as f: for i in f.readlines(): if filterCron(i): cron.append(i.strip()) return crondef filterCron(cron): if re.search(r'passive_check.sh', cron) and not re.match('#', cron): return 1 return 0def getInterval(expr): iter = croniter(expr)# interval = 0 - (iter.get_next()-iter.get_next()) interval_next = 0 - (iter.get_next()-iter.get_next()) interval_prev = iter.get_next()-iter.get_prev() if interval_next >= interval_prev: interval = interval_next else: interval = interval_prev return intervaldef main(): CronLists = getCronTab() data =[] for i in CronLists: v = i.split() item = { "{#CRONITEM}": v[-3], "{#INTERVAL}": int(getInterval(' '.join(v[0:5]))) + 1000 } data.append(item) items = json.dumps({"data": data}) print(items)if __name__ == "__main__": main()