Cron Scheduler
by @ppopen
Manage cron jobs on macOS/Linux - list, add, remove, backup, and schedule recurring tasks
clawhub install openclaw-skill-cron-schedulerπ About This Skill
name: cron-scheduler description: Manage cron jobs on macOS/Linux - list, add, remove, backup, and schedule recurring tasks triggers: - "cron" - "cron job" - "schedule task" - "recurring task" - "crontab" commands: list: usage: cron-scheduler list description: List all cron jobs for current user add: usage: cron-scheduler add "
Cron Scheduler Skill
A comprehensive skill for managing cron jobs on both macOS and Linux systems.
Features
1. List Jobs - View all cron jobs for the current user 2. Add Job - Create new cron jobs with schedule validation 3. Remove Job - Delete jobs by line number or pattern 4. Edit Crontab - Open crontab in your default editor 5. Next Runs - See when each job will execute next 6. Backup/Restore - Safely backup and restore crontab configurations 7. Service Control - Start/stop/status of cron daemon 8. Templates - Common schedule patterns for quick setup
Requirements
crontab command (pre-installed on macOS/Linux)bash shellcronnext for accurate next-run predictions (Linux)Installation
# Make the script executable
chmod +x ~/.openclaw/workspace/skills/cron-scheduler/scripts/cron-helper.shOptional: Add to PATH
echo 'export PATH="$HOME/.openclaw/workspace/skills/cron-scheduler/scripts:$PATH"' >> ~/.zshrc
source ~/.zshrc
Usage
List all cron jobs
cron-scheduler list
or
cron-scheduler l
Add a new cron job
# Daily backup at 2am
cron-scheduler add "0 2 * * *" "~/scripts/backup.sh"Every hour
cron-scheduler add "0 * * * *" "~/scripts/hourly-task.sh"Every 5 minutes
cron-scheduler add "*/5 * * * *" "~/scripts/monitor.sh"
Remove cron jobs
# By line number (use 'list' first to see line numbers)
cron-scheduler remove 3By pattern (matches anywhere in the line)
cron-scheduler removep "backup"
Edit crontab directly
cron-scheduler edit
or
cron-scheduler e
Show next run times
cron-scheduler next
or
cron-scheduler n
Backup and restore
# Create backup
cron-scheduler backupList available backups
cron-scheduler restoreRestore specific backup
cron-scheduler restore ~/.cron-backups/crontab_20240315_143022.bak
Manage cron service
# Check status
cron-scheduler service statusStart cron (may require sudo)
cron-scheduler service startStop cron (may require sudo)
cron-scheduler service stop
View templates
cron-scheduler templates
or
cron-scheduler t
Cron Schedule Format
βββββββββββββ minute (0 - 59)
β βββββββββββ hour (0 - 23)
β β βββββββββ day of month (1 - 31)
β β β β------ month (1 - 12)
β β β β β---- day of week (0 - 6, Sunday=0)
* * * * *
Common Examples
| Schedule | Description |
|----------|-------------|
| 0 0 * * * | Daily at midnight |
| 0 2 * * * | Daily at 2am |
| 0 * * * * | Every hour |
| */5 * * * * | Every 5 minutes |
| 0 9 * * 1-5 | Weekdays at 9am |
| 0 0 * * 0 | Weekly on Sunday |
| 0 0 1 * * | Monthly on 1st |
Platform Support
launchctl for service managementsystemctl for service managementSafety Features
π‘ Examples
List all cron jobs
cron-scheduler list
or
cron-scheduler l
Add a new cron job
# Daily backup at 2am
cron-scheduler add "0 2 * * *" "~/scripts/backup.sh"Every hour
cron-scheduler add "0 * * * *" "~/scripts/hourly-task.sh"Every 5 minutes
cron-scheduler add "*/5 * * * *" "~/scripts/monitor.sh"
Remove cron jobs
# By line number (use 'list' first to see line numbers)
cron-scheduler remove 3By pattern (matches anywhere in the line)
cron-scheduler removep "backup"
Edit crontab directly
cron-scheduler edit
or
cron-scheduler e
Show next run times
cron-scheduler next
or
cron-scheduler n
Backup and restore
# Create backup
cron-scheduler backupList available backups
cron-scheduler restoreRestore specific backup
cron-scheduler restore ~/.cron-backups/crontab_20240315_143022.bak
Manage cron service
# Check status
cron-scheduler service statusStart cron (may require sudo)
cron-scheduler service startStop cron (may require sudo)
cron-scheduler service stop
View templates
cron-scheduler templates
or
cron-scheduler t