CLI dbsend

Команды для локальной работы, cron и CI. Node.js 22.12+.

Установка

npm install --global @dbsend/sdk
export DBSEND_API_KEY='sqv_pk_…'
dbsend doctor

В PowerShell: $env:DBSEND_API_KEY='sqv_pk_…'. Флаг --key допустим, но env безопаснее: секрет не попадёт в историю команд.

Все команды

dbsend doctor

Проверить API-ключ, соединение и доступ к tenant

dbsend databases [--json]

Показать базы и их ID

dbsend backup <file> -d <databaseId>

Загрузить файл; -e задаёт engine, -l — метку

dbsend snapshots <databaseId> [--json]

Показать последние слепки

dbsend diff <fromId> <toId> [--json]

Получить содержательный diff

dbsend restore <snapshotId> <outputPath>

Скачать и проверить восстановленный файл

Общие опции: --key, --url; команды чтения поддерживают --json. Engine: sqlite, duckdb, postgresql_dump, mysql_dump, generic_file.

Пример автоматизации

# Сначала узнайте databaseId
dbsend databases --json

# PostgreSQL: только plain SQL dump
pg_dump --format=plain "$DATABASE_URL" > backup.sql
dbsend backup backup.sql --database "$DBSEND_DATABASE_ID" \
  --engine postgresql_dump --label "nightly-$(date +%F)"

Ошибки

  • «Нужен API-ключ» — задайте DBSEND_API_KEY.
  • 401/403 — ключ отозван или нет нужного scope.
  • 429 — дождитесь сброса rate limit; не запускайте параллельные cron одного файла.
  • Файл не найден — используйте абсолютный путь и проверьте права чтения.
  • Diff ещё готовится — повторите команду через несколько секунд.