Add your description here
Project description
cronatron 
Schedule commands on macOS using launchd — a friendlier interface to launchctl.
crontabis too simple!launchdis too complex!cronatronis just right!
# Every 30 seconds
cronatron register "echo hello" --every 30
# Every day at 9:00 AM
cronatron register "echo hello" --hour 9 --minute 0
# Weekdays at 8:30 AM
cronatron register "echo hello" --hour 8 --minute 30 --weekday 1,2,3,4,5
Installation
uv tool install cronatron
# or run without installing
uvx cronatron
Usage
Scheduling
Jobs can be scheduled with calendar flags or an interval:
Calendar flags (--minute, --hour, --day, --weekday, --month) accept comma-separated values and can be combined. --every accepts a number of seconds. The two modes are mutually exclusive.
--name -n Label shown in list output (defaults to the command)
--minute -m 0–59 (comma-separated)
--hour -h 0–23 (comma-separated)
--day -d 1–31 (comma-separated)
--weekday -w 0–7 (comma-separated, 0 = Sunday)
--month -M 1–12 (comma-separated)
--every -e Run every N seconds
--verbose -v Print underlying launchctl commands
Examples
# Register a named job that runs every minute
cronatron register "date >> /tmp/out.txt" --every 60 --name "timestamp"
# List jobs
cronatron list
# Tail logs for a job
cronatron logs <job-id> --follow
# Run a job right now
cronatron trigger <job-id>
# Pause / resume
cronatron pause <job-id>
cronatron resume <job-id>
# Remove a job
cronatron unregister <job-id>
# Remove everything (with confirmation prompt)
cronatron reset
State
Plists are stored in ~/Library/LaunchAgents/ and logs are written to ~/.cronatron/logs/<job-id>.log.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cronatron-260514.tar.gz.
File metadata
- Download URL: cronatron-260514.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac7a48224c8fdcef63e62cfba2fbed5e6327510a0111725a7712f7c3b4532b31
|
|
| MD5 |
11800944029e332e257bb3fa8272f0b7
|
|
| BLAKE2b-256 |
10792ffeecd8b6e45efd804a29e4e13c51384031d9abee71560370027ff2147d
|
File details
Details for the file cronatron-260514-py3-none-any.whl.
File metadata
- Download URL: cronatron-260514-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd326ba97fcea27a97bed2d4527993bb0272dd2d2cfa0a727228987df4922ed5
|
|
| MD5 |
aad74d98fbd6e5d11898aeed5ce57348
|
|
| BLAKE2b-256 |
e525ff54abfdb9de3441bdcfb00bd89a6c12abaf015900b209848450fb739c4b
|