[Home](https://kellyjonbrazil.github.io/jc/)
# jc.parsers.crontab
jc - JSON CLI output utility `crontab -l` command output and crontab
file parser
Supports `crontab -l` command output and crontab files.
Usage (cli):
$ crontab -l | jc --crontab
or
$ jc crontab -l
Usage (module):
import jc
result = jc.parse('crontab', crontab_output)
or
import jc.parsers.crontab
result = jc.parsers.crontab.parse(crontab_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,
"command": string
}
]
}
**Examples**:
$ crontab -l | jc --crontab -p
{
- `"variables"` - [
{
- `"name"` - "MAILTO",
- `"value"` - "root"
},
{
- `"name"` - "PATH",
- `"value"` - "/sbin:/bin:/usr/sbin:/usr/bin"
},
{
- `"name"` - "SHELL",
- `"value"` - "/bin/bash"
}
],
- `"schedule"` - [
{
- `"minute"` - [
"5"
],
- `"hour"` - [
"10-11",
"22"
],
- `"day_of_month"` - [
"*"
],
- `"month"` - [
"*"
],
- `"day_of_week"` - [
"*"
],
- `"command"` - "/var/www/devdaily.com/bin/mk-new-links.php"
},
{
- `"minute"` - [
"30"
],
- `"hour"` - [
"4/2"
],
- `"day_of_month"` - [
"*"
],
- `"month"` - [
"*"
],
- `"day_of_week"` - [
"*"
],
- `"command"` - "/var/www/devdaily.com/bin/create-all-backups.sh"
},
{
- `"occurrence"` - "yearly",
- `"command"` - "/home/maverick/bin/annual-maintenance"
},
{
- `"occurrence"` - "reboot",
- `"command"` - "/home/cleanup"
},
{
- `"occurrence"` - "monthly",
- `"command"` - "/home/maverick/bin/tape-backup"
}
]
}
$ cat /etc/crontab | jc --crontab -p -r
{
- `"variables"` - [
{
- `"name"` - "MAILTO",
- `"value"` - "root"
},
{
- `"name"` - "PATH",
- `"value"` - "/sbin:/bin:/usr/sbin:/usr/bin"
},
{
- `"name"` - "SHELL",
- `"value"` - "/bin/bash"
}
],
- `"schedule"` - [
{
- `"minute"` - "5",
- `"hour"` - "10-11,22",
- `"day_of_month"` - "*",
- `"month"` - "*",
- `"day_of_week"` - "*",
- `"command"` - "/var/www/devdaily.com/bin/mk-new-links.php"
},
{
- `"minute"` - "30",
- `"hour"` - "4/2",
- `"day_of_month"` - "*",
- `"month"` - "*",
- `"day_of_week"` - "*",
- `"command"` - "/var/www/devdaily.com/bin/create-all-backups.sh"
},
{
- `"occurrence"` - "yearly",
- `"command"` - "/home/maverick/bin/annual-maintenance"
},
{
- `"occurrence"` - "reboot",
- `"command"` - "/home/cleanup"
},
{
- `"occurrence"` - "monthly",
- `"command"` - "/home/maverick/bin/tape-backup"
}
]
}
## info Objects
```python
class info()
```
Provides parser metadata (version, author, etc.)
#### parse
```python
def parse(data, raw=False, quiet=False)
```
Main text parsing function
**Arguments**:
- `data` - (string) text data to parse
- `raw` - (boolean) unprocessed output 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)