MokoSuiteBackup is more than a component — it's a package of auto-enabled plugins plus an admin module that quietly power auto-cleanup, backup-before-update protection, the dashboard widget, CLI commands, pre-install backups, action logging, the REST API, and heartbeat reporting to MokoSuiteHQ. Here's what each one does and how to configure it.
Plugin Overview
MokoSuiteBackup is a Joomla package that ships with several plugins and an admin module alongside the main component. All plugins are auto-enabled on installation.
| Plugin | Type | Purpose |
|---|---|---|
| plg_system_mokosuitebackup | System | Auto-cleanup, web-cron endpoint, and backup-before-update/install/uninstall protection |
| plg_task_mokosuitebackup | Task | Joomla Scheduled Tasks integration (backup profile & content snapshot) |
| plg_quickicon_mokosuitebackup | Quickicon | Dashboard status widget |
| plg_console_mokosuitebackup | Console | CLI commands (run, list, restore, cleanup, profiles, snapshot) |
| plg_content_mokosuitebackup | Content | Automatic pre-install backups |
| plg_actionlog_mokosuitebackup | Action Log | Logs profile and backup actions to Joomla action logs |
| plg_webservices_mokosuitebackup | Web Services | REST API endpoints (backups, profiles, destinations, snapshots) |
| plg_system_mokosuitebackup_client | System (bridge) | Reports backup status to MokoSuiteHQ via the heartbeat |
Auto-Cleanup (System Plugin)
Automatically removes old backup records and archive files based on age and count limits.
- Max Age — Delete backups older than N days (default: 30, range: 1–365)
- Max Backups — Keep only the N newest backups (default: 10, range: 1–100)
- Runs once per hour on admin page loads (not AJAX), throttled via session
- Age-based deletion runs first, then count-based enforcement
- Retention prunes both the local archive/record and each enabled remote copy
Configure in System > Plugins > System — MokoSuiteBackup.
Backup Before Update & Uninstall (System Plugin)
The system plugin also provides full-screen backup-before-update protection. When enabled (Super User only), clicking Install the update on a Joomla core update, an extension update, or an extension uninstall redirects to a dedicated full-screen backup screen with a real progress bar, then continues the original action seamlessly — no backup runs synchronously inside the update request, so large sites don't white-screen. Enable Backup before update / Backup before uninstall in Components > MokoSuiteBackup > Options > Pre-Action. Fires once per Update/Uninstall action.
Dashboard Widget (Quickicon Plugin)
Adds a status widget to the Joomla Home Dashboard showing:
- Time since last backup (e.g. "2h ago", "3d ago")
- Total backup count and total storage used
- Warning states: no backups exist, recent failures, or stale backups (older than 7 days)
Automatic Pre-Install Backups (Content Plugin)
Triggers an automatic backup before a new Joomla extension is installed. Pre-update backups are handled separately by the System plugin (via the component's Pre-Action options), so the Content plugin only covers new installs — this avoids running the backup twice on a single extension update.
- Backup Before Install — Triggers before installing a new extension (default: disabled)
- Profile — Which backup profile to use for the automatic backup
- A "skip the pre-install backup for this install" checkbox on the Extensions → Install screen lets a Super User opt out of the backup for a single install
- Throttled to at most one automatic backup per hour
- If the backup does not run (a failure, a bad profile, or the tuning gate), an admin warning is shown and a log entry is written, and the install proceeds
Configure in System > Plugins > Content — MokoSuiteBackup.
Action Logging (Action Log Plugin)
Records MokoSuiteBackup actions in Joomla's User Action Logs (Users > User Actions Log):
- Profile created, updated, or deleted
- Backup record deleted
- Backup completed or failed
Each log entry includes: user, IP address, item ID, and timestamp.
REST API (Web Services Plugin)
Registers the MokoSuiteBackup REST API routes so backups, profiles, destinations, and snapshots can be managed remotely. As well as the backup, profile and snapshot endpoints, the plugin now also exposes the per-profile Destinations routes (list, read, create, update, delete, enable/disable, and deploy restore script). See the REST API article for the full route list and request details.
Heartbeat Reporting (Client Bridge Plugin)
The client bridge plugin (plg_system_mokosuitebackup_client) contributes a backup-status summary to the heartbeat sent to MokoSuiteHQ, so a managed site's last backup, totals, and recent failures are visible centrally. It subscribes to both the legacy MokoSuiteClient and the newer MokoSuitePlatform heartbeat events, so status keeps reporting on client- and platform-hosted sites alike. The heartbeat also includes a tuning_pending flag, letting MokoSuiteHQ flag a managed site whose execution-tuning wizard has not yet been run.