Backup & Export

Learn how to backup, export, and import your Query-2jz data with comprehensive tools and strategies.

What is Backup & Export?

Query-2jz provides comprehensive backup and export tools to protect your data and enable seamless migration between environments. Support for multiple formats and incremental backups.

Backup Features

Full & incremental backups
Schema-aware backups
Multiple export formats
Compression support
Encryption support
Scheduled backups

Backup Operations

Create and manage backups of your Query-2jz data.

Create Backup

Create a full backup of your data

CLI Command

query-2jz backup create --output ./backups/backup-2024-01-01

Backup Options

# Create full backup
query-2jz backup create --output ./backups/full-backup

# Create incremental backup
query-2jz backup create --incremental --since 2024-01-01

# Backup specific models
query-2jz backup create --models User,Post,Comment

# Compressed backup
query-2jz backup create --compress --output ./backups/compressed-backup

# Encrypted backup
query-2jz backup create --encrypt --key-file ./keys/backup.key

# Backup with metadata
query-2jz backup create --include-metadata --output ./backups/metadata-backup

Backup Configuration

{
  "backup": {
    "enabled": true,
    "schedule": "0 2 * * *",  // Daily at 2 AM
    "retention": {
      "daily": 7,
      "weekly": 4,
      "monthly": 12
    },
    "compression": {
      "enabled": true,
      "algorithm": "gzip",
      "level": 6
    },
    "encryption": {
      "enabled": true,
      "algorithm": "aes-256-gcm",
      "keyFile": "./keys/backup.key"
    },
    "storage": {
      "local": "./backups",
      "s3": {
        "bucket": "query-2jz-backups",
        "region": "us-east-1"
      }
    }
  }
}

Export Formats

Export your data in various formats for different use cases.

JSON

Human-readable format

  • • Easy to read and edit
  • • Preserves data types
  • • Good for small datasets
  • • Cross-platform compatible
  • • Supports relationships

CSV

Spreadsheet format

  • • Excel compatible
  • • Good for analytics
  • • Lightweight format
  • • Easy to process
  • • Flat data structure

SQL

Database format

  • • Database agnostic
  • • Preserves schema
  • • Good for migration
  • • Supports constraints
  • • Transactional

Data Export

Export your data in various formats and configurations.

Export Commands

Export data using CLI commands

Export Data

# Export all data to JSON
query-2jz export data --format json --output ./exports/data.json

# Export specific models
query-2jz export data --models User,Post --format json

# Export with filters
query-2jz export data --where '{"status":"active"}' --format json

# Export to CSV
query-2jz export data --format csv --output ./exports/data.csv

# Export to SQL
query-2jz export data --format sql --output ./exports/data.sql

# Export with date range
query-2jz export data --since 2024-01-01 --until 2024-12-31

# Export with compression
query-2jz export data --compress --output ./exports/data.json.gz

Export Schema

# Export schema only
query-2jz export schema --output ./exports/schema.json

# Export schema to SQL
query-2jz export schema --format sql --output ./exports/schema.sql

# Export specific models schema
query-2jz export schema --models User,Post --output ./exports/schema.json

Data Import

Import data from various sources and formats.

Import Commands

Import data using CLI commands

Import Data

# Import from JSON
query-2jz import data --format json --input ./imports/data.json

# Import from CSV
query-2jz import data --format csv --input ./imports/data.csv

# Import from SQL
query-2jz import data --format sql --input ./imports/data.sql

# Import with validation
query-2jz import data --validate --input ./imports/data.json

# Import with batch size
query-2jz import data --batch-size 1000 --input ./imports/data.json

# Import with rollback on error
query-2jz import data --rollback-on-error --input ./imports/data.json

Import Schema

# Import schema from JSON
query-2jz import schema --format json --input ./imports/schema.json

# Import schema from SQL
query-2jz import schema --format sql --input ./imports/schema.sql

# Import with validation
query-2jz import schema --validate --input ./imports/schema.json

Backup Management

Manage and restore your backups.

Backup Operations

List, restore, and manage backups

List Backups

# List all backups
query-2jz backup list

# List backups with details
query-2jz backup list --detailed

# List backups by date range
query-2jz backup list --since 2024-01-01 --until 2024-12-31

# List backups by type
query-2jz backup list --type full
query-2jz backup list --type incremental

Restore Backup

# Restore full backup
query-2jz backup restore --backup ./backups/backup-2024-01-01

# Restore with validation
query-2jz backup restore --validate --backup ./backups/backup-2024-01-01

# Restore specific models
query-2jz backup restore --models User,Post --backup ./backups/backup-2024-01-01

# Restore with rollback
query-2jz backup restore --rollback --backup ./backups/backup-2024-01-01

Backup Validation

# Validate backup integrity
query-2jz backup validate --backup ./backups/backup-2024-01-01

# Validate with checksum
query-2jz backup validate --checksum --backup ./backups/backup-2024-01-01

# Validate specific models
query-2jz backup validate --models User,Post --backup ./backups/backup-2024-01-01

Scheduled Backups

Set up automated backup schedules.

Cron Schedule

# Daily backup at 2 AM
0 2 * * * query-2jz backup create --output ./backups/daily/backup-$(date +%Y-%m-%d)

# Weekly backup on Sunday at 3 AM
0 3 * * 0 query-2jz backup create --output ./backups/weekly/backup-$(date +%Y-%m-%d)

# Monthly backup on 1st at 4 AM
0 4 1 * * query-2jz backup create --output ./backups/monthly/backup-$(date +%Y-%m-%d)

# Incremental backup every 6 hours
0 */6 * * * query-2jz backup create --incremental --output ./backups/incremental/backup-$(date +%Y-%m-%d-%H)

Backup Retention

# Clean up old backups
query-2jz backup cleanup --retention-days 30

# Clean up by type
query-2jz backup cleanup --type daily --retention-days 7
query-2jz backup cleanup --type weekly --retention-days 4
query-2jz backup cleanup --type monthly --retention-days 12

# Clean up with dry run
query-2jz backup cleanup --dry-run --retention-days 30

Best Practices

Do

  • • Schedule regular backups
  • • Test backup restoration
  • • Use encryption for sensitive data
  • • Store backups offsite
  • • Monitor backup success
  • • Use incremental backups
  • • Validate backup integrity

Don't

  • • Skip backup testing
  • • Store backups locally only
  • • Ignore backup failures
  • • Use weak encryption
  • • Skip backup validation
  • • Forget retention policies
  • • Ignore backup monitoring