Schedule and manage recurring tasks using cron.
bash
# Add a scheduled task
python scripts/scheduler.py add --cron "0 9 * * *" --command "backup.sh"
# List all tasks
python scripts/scheduler.py list
# Remove a task
python scripts/scheduler.py remove --id 1
text
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6)
│ │ │ │ │
* * * * *
ExpressionMeaning0 9 * * *Daily at 9 AM0 * * * *Every hour*/15 * * * *Every 15 minutes0 0 * * 0Weekly on Sunday0 0 1 * *Monthly on 1st
bash
python scripts/scheduler.py [COMMAND] [OPTIONS]
Commands:
add Add a new scheduled task
list List all scheduled tasks
remove Remove a task
enable Enable a disabled task
disable Disable a task without removing
log Show task execution log
health Check task health status
text
--cron TEXT Cron expression (required for add)
--command TEXT Command to run (required for add)
--name TEXT Task name for identification
--log PATH Log file path
--notify EMAIL Email notification on failure
--timeout SECS Task timeout in seconds
bash
python scripts/scheduler.py add \
--cron "0 2 * * *" \
--command "/home/user/backup.sh" \
--name "daily-backup" \
--log /var/log/backup.log
bash
python scripts/scheduler.py add \
--cron "0 * * *" \
--command "sync-data.sh" \
--name "hourly-sync"
bash
python scripts/scheduler.py add \
--cron "0 9 * * 1" \
--command "generate-report.sh" \
--name "weekly-report"
bash
# Monitor website every hour
python scripts/scheduler.py add \
--cron "0 * * *" \
--command "python /path/to/web-monitor/scripts/monitor.py --url https://example.com --compare last.json"
bash
# Send daily summary
python scripts/scheduler.py add \
--cron "0 8 * * *" \
--command "telegram-send 'Good morning! Daily summary ready'"