docs: refresh for 02.61.0

2026-07-13 01:04:08 +00:00
parent 0dd4a0ee0d
commit 26b03a4241
+41 -87
@@ -1,103 +1,57 @@
# MokoSuiteBackup
Full-site backup and restore for Joomla — database, files, and configuration.
Full-site backup and restore for Joomla — database, files, and configuration. A modern replacement for Akeeba Backup Pro, built as a native Joomla 6 package with pre-update/pre-uninstall safety backups, content snapshots, remote storage, encryption, a REST API, scheduled tasks, and native CLI commands.
| Field | Value |
## Overview
| Item | Value |
|---|---|
| **Package** | `pkg_mokosuitebackup` |
| **Version** | 01.45.07 |
| **Type** | Joomla Package (9 sub-extensions + MokoSuiteClient) |
| **Joomla** | 6.x+ |
| **PHP** | 8.3+ |
| **Version** | 02.60.00 |
| **Joomla** | 6.x or later (compatible with 4.x / 5.x update/uninstall flows) |
| **PHP** | 8.3 or later |
| **License** | GPL-3.0-or-later |
| **Author** | Moko Consulting |
---
## Package contents
MokoSuiteBackup installs as a single package that bundles the following sub-extensions:
| Sub-extension | Type | Purpose |
|---|---|---|
| `com_mokosuitebackup` | Component | Admin backend, backup engine, profiles, records, snapshots, Web Services API resources, CLI script |
| `plg_system_mokosuitebackup` | System plugin | Pre-update / pre-uninstall interception, hourly retention cleanup |
| `plg_task_mokosuitebackup` | Task plugin | Scheduled Tasks integration (Run Backup Profile / Run Snapshot task types) |
| `plg_webservices_mokosuitebackup` | Web Services plugin | REST API for backups, profiles, downloads, and snapshot injection |
| `plg_console_mokosuitebackup` | Console plugin | Native `joomla` CLI commands (run, list, profiles, restore, cleanup, snapshot) |
| `plg_actionlog_mokosuitebackup` | Action Log plugin | User Action Log entries for backup events |
| `plg_quickicon_mokosuitebackup` | Quick Icon plugin | Control Panel quick icon |
| `plg_content_mokosuitebackup` | Content plugin | Content-side integration |
| `mod_mokosuitebackup_cpanel` | Admin module | cPanel dashboard module |
## Guides
- [Installation](guides/Installation)
- [Configuration](guides/Configuration)
- [Backup Profiles](Backup-Profiles)
- [Scheduled Tasks](guides/Scheduled-Tasks)
- [CLI Usage](guides/CLI-Usage)
- [Akeeba Migration](guides/Akeeba-Migration)
- [Installation](Installation) — install via the Joomla installer, update site, or CLI; requirements and verification
- [Configuration](Configuration) — every option in the component Options screen, grouped by tab
- [Pre-Update-Backup](Pre-Update-Backup) — automatic full-screen backups before extension/core updates and uninstalls
- [Snapshot-Transfer](Snapshot-Transfer) — export, import, and inject content snapshots between sites
## Reference
- [Database Schema](Database-Schema)
- [Architecture](Architecture)
- [REST API](reference/REST-API)
- [Remote Storage](reference/Remote-Storage)
- [Encryption](reference/Encryption)
- [Differential Backups](reference/Differential-Backups)
- [Changelog](Changelog)
- [Troubleshooting](guides/Troubleshooting)
---
- [Changelog](Changelog) — release history through 02.60.00
## Features
### Backup
- Full site, database-only, files-only, differential
- Pre-flight validation before backup starts
- Auto-verify archive integrity after creation
- Archive formats: ZIP, tar.gz, 7z
- AES-256 encryption (ZIP) or 7z native encryption
- Data sanitization: clear passwords, emails, sessions
- Manual purge by date with count preview
### Content Snapshots
- Lightweight JSON snapshots of articles, categories, modules
- Includes tags, custom fields, workflow associations
- Restore: Replace / Merge / Selective article restore
- Scheduled snapshot task + automatic retention
### Remote Storage
- Multi-remote: multiple destinations per profile (SFTP + S3 + GDrive simultaneously)
- SFTP with SSH key file auth + remote directory browser
- Amazon S3 (and S3-compatible)
- Google Drive with OAuth2
- FTP/FTPS
- Graceful degradation — local backup preserved if upload fails
### MokoRestore Standalone Wizard
- 9-step restore wizard that works without Joomla installed
- Per-table conflict resolution: Replace / Skip / Merge / Data Only
- Post-restore: reset passwords, hits, versions, sessions, cache
- Auto-detect sanitized passwords and prompt for reset
- Standalone mode: restore script scans directory for ZIP files
- Customizable restore script filename per profile
### Bundled: MokoSuiteClient
- Full MokoSuiteClient package installed automatically alongside MokoSuiteBackup
- Admin dashboard, security firewall, tenant management, developer tools
### Admin Dashboard
- CPanel module with backup status and quick action buttons
- Snapshot widget, backup trend chart, storage breakdown
- System health checks
- Backup comparison: side-by-side diff between two backups
- Archive browser: view files inside backup without extracting
### Security
- 14 ACL permissions with full enforcement across all controllers
- Data sanitization: passwords, emails, sessions
- SSH key stored base64-encoded, never exposed in UI
- Path traversal protection on all archive extraction
- Webcron secret hardening + IP whitelist
### CLI
- `mokosuitebackup:run``mokosuitebackup:restore``mokosuitebackup:snapshot`
- `mokosuitebackup:list``mokosuitebackup:profiles``mokosuitebackup:cleanup`
### REST API
- Backup: start, list, download, delete, profiles
- Snapshots: create, list, restore, delete, download
---
## Quick Start
1. Download from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup/releases)
2. Install via Extensions > Install
3. Components > MokoSuiteBackup > Dashboard > Backup Now
- **Full-screen pre-update / pre-uninstall backup** — before a core Joomla update, an extension update, or an extension uninstall, MokoSuiteBackup runs a stepped, full-page backup with a real progress bar (Akeeba-style), then automatically continues the original action. Fires once per Update action for every extension, super-user only, and gated by the `backup_before_update` / `backup_before_uninstall` options.
- **Content snapshot transfer & master→slave injection** — export a content snapshot as a portable `.msbsnap` file (zip of `manifest.json` + `snapshot.json` with a SHA-256 integrity check), import one on another site, or push one directly into a slave site via the injection API. Conflict modes: **overwrite**, **create**, and **duplicate** (remapped IDs).
- **Remote retention pruning** — when a backup is pruned by age or count, its archive is also deleted from every enabled remote destination (SFTP / FTP / S3 / Google Drive), not just the local copy.
- **Remote storage** — upload archives to SFTP, FTP, Amazon S3, and Google Drive, configured per destination, with an optional "keep local copy" per destination.
- **Encryption** — protect backup archives.
- **Differential backups** — capture only what changed since a prior backup.
- **REST API** — manage backups, profiles, downloads, deletion, and snapshot injection over Joomla Web Services.
- **Scheduled tasks** — run backup profiles and snapshots on a schedule through Joomla's Scheduled Tasks (com_scheduler).
- **CLI** — native `joomla mokosuitebackup:*` console commands plus a standalone cron script.
- **Restore options** — no restore script, a wrapped restore, or a standalone `restore.php` generated alongside the archive.
- **Data sanitization** — optionally sanitize passwords, emails, and sessions in the database dump.
- **Notifications** — email and ntfy notifications on success and/or failure.
- **Web-cron support** — trigger backups via a secret-protected URL with optional IP whitelisting.