🧪 Skills

Cron Scheduler

Create, list, modify, and remove scheduled cron jobs to automate system tasks using simplified cron syntax and manage output logging.

v1.0.0
❤️ 1
⬇️ 2.2k
👁 1
Share

Description

Cron Scheduler

Manage scheduled tasks and automation on your system using cron.

Category: automation, productivity API Key Required: No

What It Does

Create, manage, and monitor scheduled tasks (cron jobs) on your machine. Automate backups, health checks, cleanup scripts, API calls, notifications — anything that should run on a schedule. Your agent handles the cron syntax so you don't have to.

Agent Commands

List all cron jobs

echo "=== User crontab ==="
crontab -l 2>/dev/null || echo "(empty)"
echo ""
echo "=== System cron ==="
ls /etc/cron.d/ 2>/dev/null
echo ""
echo "=== Cron directories ==="
echo "Hourly:  $(ls /etc/cron.hourly/ 2>/dev/null | wc -l) jobs"
echo "Daily:   $(ls /etc/cron.daily/ 2>/dev/null | wc -l) jobs"
echo "Weekly:  $(ls /etc/cron.weekly/ 2>/dev/null | wc -l) jobs"
echo "Monthly: $(ls /etc/cron.monthly/ 2>/dev/null | wc -l) jobs"

Add a cron job

# Add to user crontab
(crontab -l 2>/dev/null; echo "SCHEDULE COMMAND") | crontab -

# Common schedules:
# Every minute:        * * * * *
# Every 5 minutes:     */5 * * * *
# Every hour:          0 * * * *
# Every day at 2am:    0 2 * * *
# Every Monday 9am:    0 9 * * 1
# Every 1st of month:  0 0 1 * *
# Weekdays at 8am:     0 8 * * 1-5

Remove a cron job

# Edit crontab interactively
crontab -e

# Or remove a specific line
crontab -l | grep -v "PATTERN_TO_REMOVE" | crontab -

Check cron logs

# Recent cron activity
grep CRON /var/log/syslog | tail -20

# Or on systems using journald
journalctl -u cron --since "1 hour ago" --no-pager | tail -20

Test a cron command

# Run the command manually first to make sure it works
COMMAND_HERE

# Check it produces expected output
echo "Exit code: $?"

Cron syntax reference

┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * * command

Common patterns

# Disk space alert daily at 8am
0 8 * * * df -h / | awk 'NR==2 && $5+0 > 80 {print "Disk alert: " $5 " used"}' | mail -s "Disk Warning" you@email.com

# Clean /tmp weekly
0 3 * * 0 find /tmp -type f -mtime +7 -delete

# Backup database nightly
0 2 * * * pg_dump mydb > /backups/db_$(date +\%Y\%m\%d).sql

# Restart a service if it crashes (every 5 min check)
*/5 * * * * systemctl is-active myservice || systemctl restart myservice

# Log system stats every 15 minutes
*/15 * * * * echo "$(date): $(uptime)" >> /var/log/system-stats.log

Environment variables in cron

# Cron runs with minimal environment. Set what you need:
(crontab -l 2>/dev/null; echo "PATH=/usr/local/bin:/usr/bin:/bin
SHELL=/bin/bash
0 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1") | crontab -

Redirect output (important!)

# Log output
* * * * * command >> /var/log/myjob.log 2>&1

# Discard output
* * * * * command > /dev/null 2>&1

# Email output (if mail is configured)
MAILTO=you@email.com
0 8 * * * command

Examples

User: "Run my backup script every night at 2am" → (crontab -l 2>/dev/null; echo "0 2 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1") | crontab -

User: "Check disk space every hour and alert me if it's over 80%" → Create a check script + cron job

User: "What scheduled tasks are running?" → List all crontabs and system cron directories

User: "Stop the daily cleanup job" → Find and remove the specific cron entry

Constraints

  • Cron runs with minimal PATH — use absolute paths for commands
  • Always redirect output (>> logfile 2>&1) or cron fills up mail spool
  • Cron uses the system timezone — check with timedatectl
  • Minimum resolution is 1 minute — for sub-minute, use a loop in a script
  • User crontabs don't survive user deletion
  • Test commands manually before scheduling

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs