Cron Manager edits crontabs from the panel instead of over SSH, in two scopes that share one code path: an administrator works on the panel's own crontab, while a non-admin tenant works only on their own system user's crontab, with the owner injected server-side from the request user so the scope cannot be spoofed. The page is tabbed — Jobs, Environment, Advanced, and a read-only System crontab view for admins — and adding or editing a job happens in a modal that lets you express the schedule as a preset, a five-field builder, or a raw expression, all kept in sync and backed by a preview that names the schedule in plain English and lists its next five firing times.
Jobs can be added, edited, duplicated, enabled or disabled, deleted, and run on demand; each job is anchored to its physical crontab line so two textually identical jobs stay distinguishable, and its trailing comment is edited and removed together with it. Because cron itself records nothing about its own runs, the only history shown is of the runs the panel triggered — exit code and captured output, kept per crontab owner in PluginData and capped at a small number of entries. The Environment tab edits the MAILTO, PATH, SHELL and CRON_TZ assignments while leaving any other variable in place, and the Advanced tab exposes the raw crontab with per-line validation that names the offending line before anything is written, plus a download.
Anything needing privilege goes through the root system agent rather than sudo, which the panel user is not expected to hold: another user's crontab is read and written via the agent, and Run now drops privilege with runuser instead of escalating. Command text containing a percent sign is escaped as crontab(5) requires, and schedule validation enforces per-field ranges while accepting day and month names. If the agent is unreachable the cron service state is reported as unknown rather than as stopped, and the hosting-plan cron-job cap is checked on every path that can grow the job count, including duplication and pasting a table into the raw editor.
Availability: Free on every plan, including the Free plan.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/cron-manager/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "cron-manager",
"version": "1.0.6",
"download_url": "..."
}