Skip to main content

Cron job monitor for humans — view, toggle, and tail your cron jobs from a browser

Project description

cronpan

Cron job monitor for humans — no daemon, no docker, no database, just your crontab.


Install

pip install cronpan

Run

cronpan

Opens at http://localhost:7878. On a headless machine (VM, server) it won't try to open a browser — just visit the URL from your own machine at http://your-server-ip:7878.

Change the port:

cronpan --port 9000

What you can do

  • View all your cron jobs in one place
  • Enable / disable jobs without editing the crontab manually
  • Rename jobs with a display name
  • Enable built-in logging — captures output to daily log files at ~/.cronlogs/
  • Set a custom log file path for jobs that already write their own logs
  • View system jobs from /etc/cron.d/ (read-only)

Logging

Built-in logging

Click enable logging on any job. cronpan wraps the command with a logger script that timestamps every line of output and writes daily log files:

~/.cronlogs/
  job_name/
    20260310.log
    20260311.log

Custom log file

If your script already writes its own log file, click set log file and enter the full path. cronpan will read it as-is and show it in the UI. The path is stored as a comment in your crontab:

* * * * * /path/to/script.py #[LOGPATH] /var/log/myjob.log

Keep it running (Linux / VM)

To run cronpan as a background service that starts on boot:

cronpan --install-service

This writes a systemd unit file to /tmp/cronpan.service and prints the exact commands to install it:

sudo cp /tmp/cronpan.service /etc/systemd/system/cronpan.service
sudo systemctl daemon-reload
sudo systemctl enable cronpan
sudo systemctl start cronpan

cronpan runs as your regular user — no root needed at runtime.

To stop and remove the service:

sudo systemctl stop cronpan
sudo systemctl disable cronpan
sudo rm /etc/systemd/system/cronpan.service

Crontab conventions

cronpan reads and writes your real crontab. It uses comments to store metadata:

#[DESCRIPTION] My Job Name
* * * * * /path/to/script.py
#[DISABLED] * * * * * /path/to/script.py
#[DELETED] * * * * * /path/to/script.py
* * * * * /path/to/script.py #[LOGPATH] /var/log/myjob.log

Docker (for testing)

docker build -t cronpan .

docker run -p 7878:7878 cronpan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cronpan-0.2.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cronpan-0.2.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file cronpan-0.2.0.tar.gz.

File metadata

  • Download URL: cronpan-0.2.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cronpan-0.2.0.tar.gz
Algorithm Hash digest
SHA256 99b118a1b830e93a1e2e32ab20b9db644dffeb50d75b4e7a8906dc1ab0fe4d07
MD5 9cab0809d64cc554dd396db4ea4a3dbb
BLAKE2b-256 c741bef668f5257965a27c9df8ddad184f92cc1ae955cad19d921be81009363d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cronpan-0.2.0.tar.gz:

Publisher: publish.yml on lukasanukvari/cronpan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cronpan-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cronpan-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cronpan-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 047d2070d6d8b27cdbc0e359ac3df56261f2f4d965d3f0b476300d7d536e1091
MD5 e2efff6b2915a7a80a68ce1b900a917c
BLAKE2b-256 29d9bf1cd9054d4f70c7ef404f4c67301210b4867391485a2478a1b8b671e132

See more details on using hashes here.

Provenance

The following attestation bundles were made for cronpan-0.2.0-py3-none-any.whl:

Publisher: publish.yml on lukasanukvari/cronpan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page