WP-CLI commands for creating, validating, and inspecting Vector archives.
- PHP 8.3+
- WP-CLI 2.12+
gzip,tar(for export)
Install as a WP-CLI package:
wp package install built-fast/wp-cli-vector-archiveOr 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 --helpCreate 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.gzOptions:
| 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) |
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) |
Validate an archive's integrity.
wp vector-archive validate /tmp/my-archive.tar.gz
wp vector-archive validate /tmp/my-archive.tar.gz --quietChecks manifest structure, required fields, expected tar entries (database.sql, file paths), and WordPress core table presence. Exits 0 on success, 3 on failure.
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| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Validation failure |
| 4 | Database operation failed |
| 5 | File operation failed |
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.