Troubleshooting
Common problems and solutions for EcomSec Backup Professional.
Backup Issues
"mysqldump not found"
Problem: The mysqldump command is not available on your system.
Solution:
Debian/Ubuntu:
sudo apt-get update
sudo apt-get install mysql-clientCentOS/RHEL:
sudo yum install mysqlShared Hosting: Contact your hosting provider.
Verify installation:
which mysqldump
# Should output: /usr/bin/mysqldump"Permission denied" when creating backup
Problem: Backup directory is not writable.
Solution:
# Set correct permissions
sudo chmod 700 /var/backups
sudo chown www-data:www-data /var/backups
# Verify
ls -la /var/backups
# Should show: drwx------ www-data www-dataAlternative: Change backup path in plugin configuration to a writable directory.
Backup fails with "Disk quota exceeded"
Problem: Not enough disk space.
Solution:
- Check available space:
df -hFree up space:
- Delete old backups manually
- Reduce retention policy
- Use external storage (S3, FTP)
Calculate required space:
- Minimum: 2x (Database + Media files)
- Recommended: 3-5x for multiple backup versions
Backup stuck at "Running" status
Problem: Backup process hung or crashed.
Solution:
- Check logs:
tail -f var/log/dev.log- Check process:
ps aux | grep mysqldump
ps aux | grep tar- Kill stuck process:
# Find process ID
ps aux | grep mysqldump
# Kill it
sudo kill -9 <PID>- Restart message queue consumer:
bin/console messenger:consume async --time-limit=3600"exec() has been disabled for security reasons"
Problem: PHP function exec is disabled in php.ini.
Solution:
VPS/Dedicated:
- Edit
php.ini:
sudo nano /etc/php/8.0/fpm/php.ini- Find
disable_functionsand removeexec:
; Before:
disable_functions = exec,shell_exec,system
; After:
disable_functions = system- Restart PHP-FPM:
sudo systemctl restart php8.0-fpmShared Hosting: Contact your hosting provider to enable exec.
Restore Issues
Restore fails with "Backup file not found"
Problem: Backup file was deleted or moved.
Solution:
- Check if file exists:
ls -la /var/backups- Check file permissions:
ls -la /var/backups/backup_*.tar.gz- If file was moved: Update the file path in the database or move it back.
Restore fails with "Invalid encryption key"
Problem: Wrong encryption key or corrupted backup.
Solution:
- Verify encryption key in plugin configuration
- Try with original key if you changed it
- Check backup integrity:
# For tar.gz
tar -tzf backup.tar.gz > /dev/null
echo $? # Should output: 0
# For sql.gz
zcat backup.sql.gz | head -10- If backup is corrupted: Use a different backup
Database restore fails with "Access denied"
Problem: Database credentials incorrect or user lacks permissions.
Solution:
- Check
.envfile:
cat .env | grep DATABASE- Verify credentials:
mysql -u username -p -h localhost- Grant permissions:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;Shop shows errors after restore
Problem: Cache not cleared or file permissions wrong.
Solution:
- Clear cache:
bin/console cache:clear
rm -rf var/cache/*- Fix file permissions:
chmod -R 755 .
chmod -R 775 var/ public/media/ public/thumbnail/ files/
chown -R www-data:www-data .- Rebuild theme:
bin/console theme:compile- Regenerate thumbnails:
bin/console media:generate-thumbnailsPerformance Issues
Backup takes very long (> 1 hour)
Problem: Large database or many files.
Solution:
- Use Database-only backups more frequently (faster)
- Use Files-only backups less frequently
- Optimize database:
bin/console database:optimize- Increase PHP limits:
; php.ini
max_execution_time = 7200
memory_limit = 512MMessage queue consumer crashes
Problem: Memory limit or timeout.
Solution:
- Increase memory limit:
bin/console messenger:consume async --memory-limit=512M --time-limit=3600- Run as systemd service:
# /etc/systemd/system/shopware-messenger.service
[Unit]
Description=Shopware Messenger Consumer
[Service]
Type=simple
User=www-data
Restart=always
RestartSec=10
ExecStart=/usr/bin/php /var/www/html/bin/console messenger:consume async --time-limit=3600
[Install]
WantedBy=multi-user.targetEncryption Issues
Cannot decrypt backup
Problem: Lost encryption key or wrong key.
Solution:
If you have the key:
- Verify key in plugin configuration
- Try manual decryption:
# Plugin uses OpenSSL AES-256-CBC
openssl enc -d -aes-256-cbc -in backup.tar.gz.encrypted -out backup.tar.gz -k YOUR_KEYIf you lost the key:
- Encrypted backups cannot be recovered
- Use an older unencrypted backup
- Prevention: Always store encryption key securely!
Audit Log Issues
Audit log entries missing
Problem: Database issue or plugin not properly installed.
Solution:
- Check if table exists:
bin/console dbal:run-sql "SHOW TABLES LIKE 'ecomsec_backup_audit_log'"- Reinstall plugin:
bin/console plugin:uninstall EcomSecBackupProfessional
bin/console plugin:install EcomSecBackupProfessional
bin/console plugin:activate EcomSecBackupProfessionalGetting Help
If your issue is not listed here:
Check logs:
var/log/dev.logvar/log/prod.log- Audit Log in plugin
Search GitHub Issues:
Create new issue:
- Include error messages
- Include relevant logs
- Describe steps to reproduce
Contact support:
- Email: support@reimchen.de
Useful Commands
Check system requirements
# Check PHP version
php -v
# Check mysqldump
which mysqldump
mysqldump --version
# Check tar/gzip
which tar
which gzip
# Check disk space
df -h
# Check PHP functions
php -r "echo (function_exists('exec') ? 'exec: enabled' : 'exec: disabled') . PHP_EOL;"Debug backup
# Watch logs in real-time
tail -f var/log/dev.log
# Check message queue
bin/console messenger:stats
# Consume messages manually
bin/console messenger:consume async -vvManual backup (emergency)
# Database
mysqldump -u user -p database > backup.sql
gzip backup.sql
# Files
tar -czf backup_files.tar.gz \
--exclude='var/cache' \
--exclude='var/log' \
config custom files public/media public/theme