Clone
1
Troubleshooting
Jonathan Miller edited this page 2026-06-02 19:02:26 -05:00
Table of Contents
Troubleshooting
Backup fails with "Cannot create archive"
- Check backup directory exists and is writable by PHP
- Default:
administrator/components/com_mokobackup/backups/ - Ensure PHP
ext-zipextension is installed
Backup fails with timeout
The AJAX step engine should handle this automatically. If it still times out:
- Use the CLI script instead (no timeout):
php cli/mokobackup.php --profile=1 - Use Scheduled Tasks (run via CLI cron)
- Split into separate database-only and files-only profiles
Shared hosting PHP limits
MokoJoomBackup automatically:
- Calls
set_time_limit(0)andini_set('max_execution_time', '0') - Increases memory to 512M if below
- Uses
ignore_user_abort(true)so backup finishes if browser closes - Falls back to AJAX step mode (one table per step, 200 files per step)
Remote upload fails
FTP
- Test credentials with a standalone FTP client
- Enable Passive Mode
- Check outgoing FTP not blocked by firewall
Google Drive
- Verify refresh token hasn't been revoked
- Check Drive API is enabled in Cloud Console
- Verify folder ID exists and user has write access
S3
- Verify access key and secret key
- Check bucket name and region
- For custom endpoints, verify the URL is correct
Encrypted backup won't extract
- Verify the correct password
- Check PHP has libzip 1.2.0+ (
ZipArchive::EM_AES_256must be defined) - Try extracting with 7-Zip to verify the password works outside PHP
Dashboard widget shows warning
- No backups: Run your first backup
- Recent failures: Check backup logs for errors
- Stale (>7 days): Set up scheduled tasks for automatic backups
Integrity verification fails
The SHA-256 checksum mismatch means the archive file has been modified since creation. Possible causes:
- File corruption during transfer
- Accidental modification
- Archive was re-encrypted or decompressed
Differential backup runs as full
This happens when no base full backup with a manifest exists. Run a full backup first, then differentials will work.
Checking Backup Logs
Each backup record stores a step-by-step log:
[14:30:00] Backup started: Daily Full Backup
[14:30:01] Starting database dump...
[14:30:05] Database dump complete: 42 tables, 15,234,567 bytes
[14:30:05] Starting file scan...
[14:30:08] Backing up 12,345 files
[14:30:45] Files added to archive
[14:30:46] Archive created: 45.23 MB
[14:30:46] SHA-256: a1b2c3d4...
[14:30:46] Starting remote upload (s3)...
[14:31:02] Remote upload complete