# TableTrack Backup Module

## Database Backup Compression & Management – Add-on Module for TableTrack

Compatible with TableTrack v1.2.2 and above

This is an add-on module that works exclusively with the TableTrack application. To purchase TableTrack, please visit TableTrack on CodeCanyon

### Latest Version

Released: March 17, 2025

### Support

Get Help

## Description

The Backup Module for TableTrack provides advanced database backup and compression capabilities. It automatically compresses database-only backups to save storage space and improve transfer speeds.

## Key Features

### 1. Automatic Database Compression

Automatically compresses database-only backups using gzip with maximum compression, reducing file sizes by 70-90% while maintaining data integrity.

### 2. Flexible Backup Options

Create backups with or without files, include or exclude modules, and choose between database-only or full system backups based on your needs.

### 3. Intelligent File Management

Automatically handles file extensions (.sql.gz for compressed database, .zip/.tar.gz for full backups) and provides seamless restore operations.

### 4. Command Line Interface

Full command-line support for automated backup scheduling and integration with existing server management workflows.

## Technical Specifications

- Built on Laravel + Livewire
- Gzip compression with maximum compression level (-9)
- Support for both compressed (.sql.gz) and uncompressed backups
- Automatic fallback to uncompressed backups if compression fails

## Ideal For

- Restaurants with limited storage space
- Multi-location restaurant chains
- Cloud-based restaurant management systems
- Businesses requiring automated backup solutions

## Requirements

- TableTrack base application (latest version)
- Gzip command available on server (for compression)
- Gunzip command available (for restore operations)

## Installation Guide

For detailed installation instructions, please visit our comprehensive guide:

View Installation Guide

## Setup Guide

### Step 1: Initial Configuration

Follow our detailed setup documentation to configure your backup module:

View Setup Documentation

### Step 2: Command Usage Examples

# Create compressed database-only backup
php artisan backup:database --type=manual --include-files=false
# Create backup with files (not compressed)
php artisan backup:database --type=manual --include-files=true
# Create backup with files and modules included
php artisan backup:database --type=manual --include-files=true --include-modules=true

## Restore Functionality

### Emergency Restore Tool

The backup module includes an emergency restore tool that allows you to restore your database and files when you can't access the admin panel. Access it via: `yourdomain.com/backup-and-restore/`

Security Warning: Only access by superadmin users.

### Authentication & Security

- Only superadmin users can access the restore tool
- Session-based authentication with automatic logout
- Access restricted to localhost and allowed hosts only
- CLI mode available for automated restore operations

### Supported Backup Formats

#### Database Backups

- • `.sql` - Uncompressed SQL files
- • `.sql.gz` - Compressed SQL files (gzip)

#### Full System Backups

- • `.zip` - ZIP archives with database and files
- • `.tar.gz` - Compressed TAR archives

### Restore Process

1

#### File Detection

Automatically detects backup format and handles extraction

2

#### Database Restoration

Restores database using MySQL command-line tools

3

#### File Extraction

Extracts uploaded files and application assets

4

#### Cache Cleanup

Clears bootstrap cache and temporary files

### Cloud Storage Support

The restore tool supports backups stored in cloud storage (AWS S3):

- Automatic detection of cloud-stored backups
- Secure download using AWS S3 authentication
- Support for different S3 regions and bucket configurations
- Automatic cleanup of temporary downloaded files

### Requirements for Restore

#### System Requirements

- • MySQL command-line client
- • Gzip/Gunzip for compressed files
- • Tar command for TAR.GZ files
- • PHP ZipArchive extension

#### Security Features

- • Superadmin authentication
- • Localhost access restriction
- • Session management
- • Automatic cleanup

### Troubleshooting

#### Common Issues

- • MySQL not found: Ensure mysql command is in PATH
- • Permission denied: Check file permissions and ownership
- • Memory limit: Increase PHP memory_limit for large backups
- • Timeout errors: Increase max_execution_time for large restores

#### Error Logs

Check PHP error logs and the restore tool's built-in logging for detailed error information. The tool logs all operations to help diagnose issues.