Skip to the content.

Home

jc.parsers.crontab_u

jc - JSON CLI output utility crontab -l command output and crontab file parser

This version of the crontab -l parser supports output that contains user information for processes.

Usage (cli):

$ crontab -l | jc --crontab-u

Usage (module):

import jc.parsers.crontab_u
result = jc.parsers.crontab_u.parse(crontab_u_output)

Schema:

{
  "variables": [
    "name":               string,
    "value":              string
  ],
  "schedule": [
    {
      "occurrence"        string,
      "minute": [
                          string
      ],
      "hour": [
                          string
      ],
      "day_of_month": [
                          string
      ],
      "month": [
                          string
      ],
      "day_of_week": [
                          string
      ],
      "occurrence":       string,
      "user":             string,
      "command":          string
    }
  ]
}

Examples:

$ cat /etc/crontab | jc --crontab-u -p
{
  "variables": [
    {
      "name": "PATH",
      "value": "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
    },
    {
      "name": "SHELL",
      "value": "/bin/sh"
    }
  ],
  "schedule": [
    {
      "minute": [
        "25"
      ],
      "hour": [
        "6"
      ],
      "day_of_month": [
        "*"
      ],
      "month": [
        "*"
      ],
      "day_of_week": [
        "*"
      ],
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )"
    },
    {
      "minute": [
        "47"
      ],
      "hour": [
        "6"
      ],
      "day_of_month": [
        "*"
      ],
      "month": [
        "*"
      ],
      "day_of_week": [
        "7"
      ],
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )"
    },
    {
      "minute": [
        "52"
      ],
      "hour": [
        "6"
      ],
      "day_of_month": [
        "1"
      ],
      "month": [
        "*"
      ],
      "day_of_week": [
        "*"
      ],
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )"
    }
  ]
}

$ cat /etc/crontab | jc --crontab-u -p -r
{
  "variables": [
    {
      "name": "PATH",
      "value": "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
    },
    {
      "name": "SHELL",
      "value": "/bin/sh"
    }
  ],
  "schedule": [
    {
      "minute": "25",
      "hour": "6",
      "day_of_month": "*",
      "month": "*",
      "day_of_week": "*",
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )"
    },
    {
      "minute": "47",
      "hour": "6",
      "day_of_month": "*",
      "month": "*",
      "day_of_week": "7",
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )"
    },
    {
      "minute": "52",
      "hour": "6",
      "day_of_month": "1",
      "month": "*",
      "day_of_week": "*",
      "user": "root",
      "command": "test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )"
    }
  ]
}

info

info()

Provides parser metadata (version, author, etc.)

parse

parse(data, raw=False, quiet=False)

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) output preprocessed JSON if True
quiet:       (boolean) suppress warning messages if True

Returns:

Dictionary. Raw or processed structured data.

Parser Information

Compatibility: linux, darwin, aix, freebsd

Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)