Skip to content

built-fast/wp-cli-vector-archive

Repository files navigation

WP Vector Archive

WP-CLI commands for creating, validating, and inspecting Vector archives.

Requirements

  • PHP 8.3+
  • WP-CLI 2.12+
  • gzip, tar (for export)

Installation

Install as a WP-CLI package:

wp package install built-fast/wp-cli-vector-archive

Or install manually:

git clone https://github.com/built-fast/wp-cli-vector-archive.git /path/to/wp-cli-vector-archive

# Add to wp-cli.yml for persistent loading
echo "require:\n  - /path/to/wp-cli-vector-archive/vector-archive-command.php" >> ~/.wp-cli/config.yml

# Or pass on each invocation
wp --require=/path/to/wp-cli-vector-archive/vector-archive-command.php vector-archive export --help

Commands

wp vector-archive export

Create a Vector archive from a WordPress site.

# Full archive (database + files)
wp vector-archive export --scope=full --output=/tmp/my-archive.tar.gz

# Database only
wp vector-archive export --scope=database --output=/tmp/db-backup.tar.gz --description="Before update"

# Files only
wp vector-archive export --scope=files --output=/tmp/files-backup.tar.gz

Options:

Option Required Description
--scope=<scope> Yes full, database, or files
--output=<file> Yes Output file path (e.g., /tmp/archive.tar.gz)
--description=<text> No Human-readable label stored in manifest
--app-path=<path> No WordPress root path (default: ABSPATH)

wp vector-archive manifest

Generate a manifest (metadata.json) without creating an archive. Outputs JSON to stdout for piping.

# Generate and pipe to S3
wp vector-archive manifest --scope=full | aws s3 cp - s3://bucket/path/metadata.json

# Save to a file
wp vector-archive manifest --scope=database > /tmp/metadata.json

# With a description
wp vector-archive manifest --scope=full --description="Nightly backup"

Options:

Option Required Description
--scope=<scope> Yes full, database, or files
--description=<text> No Human-readable label stored in manifest
--app-path=<path> No WordPress root path (default: ABSPATH)

wp vector-archive validate

Validate an archive's integrity.

wp vector-archive validate /tmp/my-archive.tar.gz

wp vector-archive validate /tmp/my-archive.tar.gz --quiet

Checks manifest structure, required fields, expected tar entries (database.sql, file paths), and WordPress core table presence. Exits 0 on success, 3 on failure.

wp vector-archive info

Display archive metadata.

# Human-readable summary
wp vector-archive info /tmp/my-archive.tar.gz

# Raw JSON
wp vector-archive info /tmp/my-archive.tar.gz --format=json

# Single field (dot notation)
wp vector-archive info /tmp/my-archive.tar.gz --field=app.version

Exit Codes

Code Meaning
0 Success
1 General error
2 Invalid arguments
3 Validation failure
4 Database operation failed
5 File operation failed

Archive Format

A Vector archive is a single .tar.gz file:

archive.tar.gz
├── metadata.json        # Manifest (always first entry)
├── database.sql         # mysqldump output (when scope includes database)
├── wp-content/...       # WordPress files at natural paths (when scope includes files)
└── wp-config.php

See docs/ARCHIVE-FORMAT.md for the full manifest specification.

About

WP-CLI plugin to archive sites for BuiltFast's Vector Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors