# # cron.py # # List the logged (executed) cron jobs and their commands # TODO: also output a list of scheduled (future) jobs import re from ..formatting import * from ..util import readlog, resolve from .. import config import logging logger = logging.getLogger(__name__) def parse_log(): output = '' logger.debug("Starting cron section") output += opentag('div', 1, 'cron', 'section') matches = re.findall('.*CMD\s*\(\s*(?!.*cd)(.*)\)', readlog(config.prefs['logs']['cron'])) num = sum(1 for line in matches) commands = [] for match in matches: commands.append(str(match)) # commands.append([str(match)for match in matches]) #logger.debug("found cron command " + str(commands)) logger.info("Found " + str(num) + " cron jobs") subtitle = str(num) + " cron jobs run" output += writetitle("cron") output += writedata(subtitle) if (len(matches) > 0): commands = addtag(commands, 'code') commands = orderbyfreq(commands) commands = truncl(commands, config.prefs['maxcmd']) output += writedata("top cron commands", [c for c in commands]) output += closetag('div', 1) logger.info("Finished cron section") return output