Skip to content

Cron Profiles Module Documentation

14 min readUpdated: Sep 26, 2026
View as Markdown
  1. Navigation & Access
  2. Screenshots & Visual Interface
  3. 🎯 User Roles & Key Capabilities
  4. Module Overview (Technical)
  5. Module Overview (Commercial/Business)
  6. Module Overview (End User/Administrator)
  7. Configuration Sections
  8. Settings Reference
  9. Model Context Protocol (MCP) AI Integration
  10. Common Scenarios & Examples
  11. Limitations & Important Notes
  12. Troubleshooting Tips
  13. Glossary

To access the Cron Profiles module:

  1. Log in to the Ring2All Web Portal (https://<domain-or-ip>/login).
  2. In the left navigation sidebar, expand Administration.
  3. Under Maintenance, click Cron Profiles (/admin/maintenance/cron-profiles).
  4. Review reusable schedule definitions, standard 5-part cron expressions, enablement status, and latest trigger history.
  5. Click + Add to author a new cron profile (/admin/maintenance/cron-profiles/new) using visual builder selectors or standard cron expression templates.

Catalog of operational cron schedules powering automated backups, log rotations, CDR synchronization jobs, and health-check monitors across the softswitch cluster. Cron Profiles List

Cron Profile Schedule Editor & Expression Builder

Section titled “Cron Profile Schedule Editor & Expression Builder”

Intuitive scheduling form featuring quick template presets (Every Minute, Hourly, Daily, Weekly, Monthly) alongside fine-grained selectors for minute, hour, day of month, month, and day of week. Cron Profile Schedule Form


Role Access Level Responsibilities & Capabilities
PBX Super Administrator Full Access (RW) Create and maintain global system schedules, validate standard 5-part cron syntax, and link profiles to background batch workers.
DevOps & Platform Engineer Full Operations (RW) Balance cron execution intervals across cluster nodes to prevent peak CPU and disk I/O bottlenecks during nocturnal backup cycles.
Tenant Administrator Reusable Selection (RO) Select existing system-approved cron profiles to schedule tenant-specific backup jobs and custom data exports.
AI Platform Copilot / MCP Agent Schedule Inspection (RO) Execute list_cron_profiles to analyze scheduled cron expressions, inspect intervals, and verify background task frequencies.

Cron Profiles is a scheduling configuration module that creates reusable time-based schedules for automated tasks. Profiles define when recurring jobs like backups, reports, or maintenance tasks should run.

┌─────────────────────────────────────────────────────────────────┐
│ Cron Profiles Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Cron Profile Library │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Profile: Daily Midnight │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ Expression: 0 0 * * * │ │ │
│ │ │ Template: Daily (Midnight) │ │ │
│ │ │ Status: Enabled │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Profile: Hourly │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ Expression: 0 * * * * │ │ │
│ │ │ Template: Hourly │ │ │
│ │ │ Status: Enabled │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Profile: Business Hours │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ Expression: */15 9-17 * * 1-5 │ │ │
│ │ │ Template: Custom │ │ │
│ │ │ Status: Enabled │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ Used by scheduled tasks │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Backup Jobs ──────────────► "Daily Midnight" │ │
│ │ Report Generation ───────► "Hourly" │ │
│ │ Status Checks ───────────► "Every 5 Minutes" │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Cron Profiles provides reusable scheduling:

Without Profiles With Profiles
Duplicate expressions Define once, reuse
Error-prone syntax Template presets
No standardization Consistent schedules
Manual entry Visual builder
  1. Backup Scheduling

    • Daily backups
    • Weekly full backups
  2. Report Generation

    • Hourly reports
    • End-of-day summaries
  3. Maintenance Tasks

    • Log rotation
    • Cache cleanup
  4. Monitoring

    • Regular health checks
    • Status updates
Feature Benefit
Templates Pre-built schedules
Presets Quick selection
Custom Full cron control
Reusable Use across tasks
Enable/Disable Toggle profiles

3. Module Overview (End User/Administrator)

Section titled “3. Module Overview (End User/Administrator)”
  • Create scheduling profiles
  • Use quick templates
  • Build custom expressions
  • Enable/disable profiles
  • Reuse across modules
  • View last run times
┌─────────────────────────────────────────────────────────────────┐
│ Cron Profiles │
├─────────────────────────────────────────────────────────────────┤
│ │
│ [+ Add] │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Name │ Cron Expression │ Template │ Status │ │
│ ├─────────────────┼─────────────────┼───────────┼──────────┤ │
│ │ Daily Midnight │ 0 0 * * * │ Daily │ ● Enabled │ │
│ │ Hourly │ 0 * * * * │ Hourly │ ● Enabled │ │
│ │ Every 5 Min │ */5 * * * * │ Every 5 │ ● Enabled │ │
│ │ Weekly Sunday │ 0 0 * * 0 │ Weekly │ ● Enabled │ │
│ │ Business Hours │ */15 9-17 * * 1-5│ Custom │ ○ Disabled│ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ Actions: [✏️ Edit] [🗑️ Delete] │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Edit Cron Profile │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ▼ General Information │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ Name: [Daily Midnight ] ││
│ │ ││
│ │ Template: [Daily (Midnight) ▼] ││
│ │ Custom | Every Minute | Hourly | Daily | Weekly | Monthly││
│ │ Every 5/15/30 Minutes ││
│ │ ││
│ │ Enabled: ✓ ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ ▼ Schedule Settings │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ ││
│ │ Cron Expression: 0 0 * * * ││
│ │ Format: Min Hr Day Mon Dow ││
│ │ ││
│ │ ───────────────────────────────────────────── ││
│ │ ││
│ │ Minutes: [Every minute (*) ▼] ││
│ │ Every minute (*) | */2 | */5 | */10 | */15 | */30 ││
│ │ ││
│ │ Hours: [Midnight (0) ▼] ││
│ │ Every Hour | */2 | */4 | */6 | */12 | Midnight | Noon ││
│ │ Business Hours (9-17) ││
│ │ ││
│ │ Day of Month: [Every Day (*) ▼] ││
│ │ Every Day | */2 | 1st and 15th ││
│ │ ││
│ │ Month: [Every Month (*) ▼] ││
│ │ Every Month | Quarterly | Jan & July ││
│ │ ││
│ │ Day of Week: [Every Day (*) ▼] ││
│ │ Every Day | Mon-Fri | Weekend | Sunday | Monday ││
│ │ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ [Save] [Cancel] │
│ │
└─────────────────────────────────────────────────────────────────┘

[!TIP] Templates: Start with a template, then customize.

[!TIP] Presets: Use dropdown presets for common intervals.

[!NOTE] Cron Format: Minute Hour Day Month Weekday


Field Description
Name Profile identifier
Template Quick schedule preset
Enabled Active/Inactive
Field Description
Cron Expression Full cron syntax
Minute Minute preset
Hour Hour preset
Day of Month Day preset
Month Month preset
Day of Week Weekday preset

Template Expression Description
Every Minute * * * * * Run every minute
Every 5 Minutes */5 * * * * Every 5 min
Every 15 Minutes */15 * * * * Every 15 min
Every 30 Minutes */30 * * * * Every 30 min
Hourly 0 * * * * Top of each hour
Daily (Midnight) 0 0 * * * Midnight daily
Weekly (Sunday) 0 0 * * 0 Sunday midnight
Monthly (1st) 0 0 1 * * 1st of month
Preset Value Description
Every minute * Run every minute
Every 2 */2 Every 2 minutes
Every 5 */5 Every 5 minutes
Every 10 */10 Every 10 minutes
Every 15 */15 Every 15 minutes
Every 30 */30 Every 30 minutes
Preset Value Description
Every Hour * Every hour
Every 2 */2 Every 2 hours
Every 4 */4 Every 4 hours
Every 6 */6 Every 6 hours
Every 12 */12 Every 12 hours
Midnight 0 12:00 AM
Noon 12 12:00 PM
Business 9-17 9 AM - 5 PM
Preset Value Description
Every Day * Daily
Every Other */2 Every 2 days
1st and 15th 1,15 Bi-monthly
Preset Value Description
Every Day * All days
Mon-Fri 1-5 Weekdays
Weekend 0,6 Sat & Sun
Sunday 0 Sunday only
Monday 1 Monday only
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, 0=Sunday)
│ │ │ │ │
* * * * *
Character Meaning Example
* Any value * = every
*/n Every n */5 = every 5
n-m Range 9-17 = 9 to 17
n,m List 1,15 = 1 and 15

Model Context Protocol (MCP) AI Integration

Section titled “Model Context Protocol (MCP) AI Integration”

The Cron Profiles module exposes typed scheduling queries to the Model Context Protocol (MCP), allowing the Platform Copilot and automated site-reliability agents to inspect active background schedules.

Tool Name Scope Description
list_cron_profiles Schedule Registry (RO) Lists all scheduled cron profiles, interval expressions (e.g. “0 2 * * *”), execution frequencies, and associated tenant scopes.
{
"name": "list_cron_profiles",
"description": "Lists all scheduled cron profiles, interval expressions (e.g. \"0 2 * * *\"), execution frequencies, and associated tenant scopes.",
"parameters": {
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Filter by profile name or cron expression."
}
}
}
}

Realistic Execution Response:

{
"success": true,
"data": {
"total": 3,
"profiles": [
{
"id": 1,
"name": "Nightly Database Backup",
"schedule": "0 2 * * *",
"description": "Executes daily at 02:00 UTC during low call volume",
"target": "system",
"isActive": true,
"lastRun": "2026-09-08T02:00:00Z"
},
{
"id": 2,
"name": "Hourly CDR Archiver",
"schedule": "0 * * * *",
"description": "Flushes processed CDR partitions every hour",
"target": "system",
"isActive": true,
"lastRun": "2026-09-08T10:00:00Z"
},
{
"id": 3,
"name": "Weekly Cleanup Routine",
"schedule": "0 3 * * 0",
"description": "Purges temporary audio files every Sunday at 03:00 UTC",
"target": "system",
"isActive": true,
"lastRun": "2026-09-06T03:00:00Z"
}
]
}
}

Bilingual Natural Language Prompt Examples

Section titled “Bilingual Natural Language Prompt Examples”
  • “Copilot, list all configured cron profiles and show their schedule expressions.”
  • “Find any cron profiles scheduled to execute more frequently than every 15 minutes.”
  • “Verify when the nightly database backup cron profile last ran.”
  • “Copilot, lista todos los perfiles de cron configurados y sus expresiones temporales.”
  • “¿Qué tareas o perfiles de cron se ejecutan durante la noche?”
  • “Verifica la frecuencia y última ejecución del perfil de respaldo nocturno.”

Enterprise Safeguards & Execution Boundaries

Section titled “Enterprise Safeguards & Execution Boundaries”
  1. Multi-Tenant Protection: Cron profiles created for specific tenants are filtered strictly by tenant_id, preventing cross-tenant visibility.
  2. Standard 5-Field Syntax Enforcement: The system strictly parses standard 5-part cron syntax (minute hour day month day-of-week), preventing invalid or non-standard scheduling definitions.
  3. Execution Rate Throttling: Profiles cannot be scheduled below 1-minute intervals, mitigating server denial-of-service risks.

  1. Add Profile
  2. Name = “Daily 2AM”
  3. Template = Custom
  4. Minute = 0
  5. Hour = 2
  6. Day/Month/Week = *
  7. Expression: 0 2 * * *
  8. Save
  1. Add Profile
  2. Name = “Every 5 Min”
  3. Template = Every 5 Minutes
  4. Save
  5. Expression auto-set: */5 * * * *
  1. Add Profile
  2. Name = “Business Hours”
  3. Template = Custom
  4. Minute = */15 (every 15 min)
  5. Hour = 9-17 (business hours)
  6. Weekday = 1-5 (Mon-Fri)
  7. Expression: */15 9-17 * * 1-5
  8. Save
  1. Add Profile
  2. Name = “Weekly Sunday”
  3. Template = Weekly (Sunday)
  4. Save
  5. Expression: 0 0 * * 0

[!NOTE] Timezone: Schedules run in server timezone.

[!NOTE] 5-Field Format: Standard cron format (no seconds).

[!WARNING] Test First: Verify expression before production use.

  1. Use Templates: Start with presets
  2. Descriptive Names: Clear profile names
  3. Test Expression: Verify timing
  4. Off-Peak Hours: Schedule heavy tasks at night
  5. Monitor Runs: Check last run status
Use Case Expression
Every hour 0 * * * *
Daily at 3 AM 0 3 * * *
Weekdays 9 AM 0 9 * * 1-5
First Monday 0 0 1-7 * 1
Every 10 min */10 * * * *

Symptom Possible Cause Solution
Not running Profile disabled Enable profile
Wrong time Timezone issue Check server TZ
Too frequent Wrong interval Adjust expression
Never runs Invalid cron Verify syntax
Terminal window
# Install cron expression tester
pip install croniter
# Test expression in Python
python -c "from croniter import croniter; from datetime import datetime; c = croniter('0 2 * * *', datetime.now()); print([c.get_next(datetime) for _ in range(5)])"
Terminal window
# List system cron jobs
crontab -l
# View cron log
grep CRON /var/log/syslog

Term Definition
Cron Time-based scheduler
Expression Schedule syntax
Profile Reusable schedule
Preset Pre-defined value
Template Quick schedule

Documentation last updated: January 2026