Jonathan Miller 49f3d9fdcf feat: change default backup dir to ../backups (outside web root)
- Default backup_dir is now ../backups (relative to JPATH_ROOT),
  which resolves outside public_html on most hosting setups
- Added BackupDirectory::normalizePath() to resolve ../ segments
  without requiring the path to exist on disk
- Added BackupDirectory::portablize() to auto-detect absolute paths
  and replace them with portable placeholders ([HOME], ../backups)
- ProfileTable::check() auto-normalizes backup_dir on save
- Install postflight auto-migrates old in-webroot defaults to ../backups
- Dashboard warning now checks resolved path instead of string matching
- .htaccess protection only applied when directory is inside web root
2026-06-11 12:39:59 -05:00

MokoSuiteBackup

Full-site backup and restore for Joomla — database, files, and configuration.

Overview

MokoSuiteBackup is a comprehensive backup solution for Joomla 4/5/6 sites. It creates complete site backups including the database, files, and configuration, packaged into downloadable ZIP archives. Supports multiple backup profiles, scheduled backups via CLI/cron, and a REST API for remote management.

Features

  • Full site backup (database + files + configuration)
  • Database-only backup mode
  • Files-only backup mode
  • Multiple backup profiles with independent configurations
  • File and directory exclusion filters
  • Table exclusion filters for database backups
  • Step-based backup engine (avoids PHP timeout on large sites)
  • CLI script for cron/scheduled backups
  • REST API (Joomla Web Services) for remote management
  • Backup record management (list, download, delete)
  • Automatic old backup cleanup (configurable retention)
  • Admin dashboard with backup history and storage usage

Installation

  1. Download pkg_mokobackup-*.zip from Releases
  2. Joomla Administrator > Extensions > Install
  3. System plugin enabled automatically on install

Configuration

  • Component: Administrator > Components > MokoSuiteBackup
  • Profiles: Create backup profiles with different file/database filters
  • System Plugin: Configure scheduled backup triggers and notifications
  • CLI: php cli/mokobackup.php --profile=1 for cron-based backups

REST API

The webservices plugin exposes endpoints compatible with the MokoBackup MCP server:

  • POST /api/index.php/v1/mokobackup/backup — Start a backup
  • GET /api/index.php/v1/mokobackup/backups — List backup records
  • GET /api/index.php/v1/mokobackup/backup/:id/download — Download archive
  • DELETE /api/index.php/v1/mokobackup/backup/:id — Delete backup record
  • GET /api/index.php/v1/mokobackup/profiles — List backup profiles

License

GPL-3.0-or-later

Author

Moko Consultinghello@mokoconsulting.tech

S
Description
Full-site backup and restore for Joomla - database, files, and configuration
https://mokoconsulting.tech/support/products/mokosuitebackup Readme
2.7 MiB
Languages
PHP 95.3%
Shell 2.2%
Makefile 1.9%
HTML 0.6%