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 ещё готовится — повторите команду через несколько секунд.